Sql server SQL server PHP PDO计数字段不正确或语法错误

Sql server SQL server PHP PDO计数字段不正确或语法错误,sql-server,pdo,Sql Server,Pdo,我本不想发布这篇文章,但万不得已 PHP与MS SQL Server 2008一起使用,我得到一个错误:[SQLSTATE[07002]:[Microsoft][ODBC Driver 11 for SQL Server]计数字段不正确或语法错误 这是我的密码: $server_name = 'sqlserver'; $user = 'user'; $passwd = 'pass'; $sqlString = "INSERT INTO dbo.tbl (U

我本不想发布这篇文章,但万不得已

PHP与MS SQL Server 2008一起使用,我得到一个错误:[SQLSTATE[07002]:[Microsoft][ODBC Driver 11 for SQL Server]计数字段不正确或语法错误 这是我的密码:

    $server_name = 'sqlserver';
    $user = 'user';   
    $passwd = 'pass';

    $sqlString = "INSERT INTO dbo.tbl (UniqID, rideid, stopRatingId, category, ddescription, rating, createdDate) VALUES (?, ?, ?, ?, ?, ?, ?)";

    $conn = new PDO("sqlsrv:Server=$server_name;Database=db;ConnectionPooling=0", $user, $passwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare($sqlString);

    $sqlVals = "'1', '233', '34', 'Delivery', 'Data Integrity', 'Good', '2018-07-11 08:34:21'";
    $stmt->execute(array($sqlVals));
阵列显示:

print_r(array($sqlVals));

Array ( [0] => '1', '233', '34', 'Delivery', 'Data Integrity', 'Good', '2018-07-11 08:34:21' ) 
尝试此操作时,插入成功且无错误:

$stmt->execute(array('1', '233', '34', 'Delivery', 'Data Integrity', 'Good', '2018-07-11 08:34:21'));

不知道如何更正-非常感谢您的帮助!

在第一个示例中,$sqlVals被视为1个字符串值,而不是不同的值

所以你可以试试这个

$sqlVals = array('1', '233', '34', 'Delivery', 'Data Integrity', 'Good', '2018-07-11 08:34:21');

$stmt->execute($sqlVals);

在第一个示例中,$SQLVAL被视为1个字符串值,而不是不同的值

所以你可以试试这个

$sqlVals = array('1', '233', '34', 'Delivery', 'Data Integrity', 'Good', '2018-07-11 08:34:21');

$stmt->execute($sqlVals);