-3

这是我得到的错误。“解析错误:语法错误,第 188 行出现意外的 T_CONSTANT_ENCAPSED_STRING”我想要做的是连接到数据库并将数据插入表中,但我无法弄清楚这个错误。

$tableName = "customer";
$nullStr = "NULL";

$SQLstring = "INSERT INTO $tableName VALUES
            ('".$nullstr."','".$fname."', '".$lname."','".$address."','".$state."','".$zip."',          '".$phone"','".$email"')";
$result = $mysqli->query($SQLstring);
4

3 回答 3

3

.在几个地方缺少字符串连接运算符。

代替

$SQLstring = "INSERT INTO $tableName VALUES
        ('".$nullstr."','".$fname."', ".$lname."','".$address."','".$state."','".$zip."','".$phone"','".$email"')";

$SQLstring = "INSERT INTO $tableName VALUES
        ('".$nullStr."','".$fname."', '".$lname."','".$address."','".$state."','".$zip."','".$phone."','".$email."')";

顺便说一句,变量名区分大小写。您定义$nullStr然后尝试使用$nullstr. 我在上面的代码中修复了它。

于 2013-04-18T01:45:42.873 回答
3

请改用带有参数绑定的准备好的语句。它不仅使这更清洁,而且还避免了 SQL 注入。

$query = "INSERT INTO $tableName VALUES (NULL, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('sssssss', $fname, $lname, $address, $state,
    $zip, $phone, $email);
$stmt->execute();
于 2013-04-18T01:49:18.747 回答
1

你错过了一些时期。尝试这个...

$SQLstring = "INSERT INTO $tableName VALUES ('".$nullstr."','".$fname."','".$lname."','".$address."','".$state."','".$zip."','".$phone."','".$email."')";
于 2013-04-18T01:46:33.753 回答