-1

$user是一个关联数组,如何在 mysql 查询中使用它?这里的语法错误是什么?

  $sql= 'INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES($user["username"], $user["password"], $user["contact_no"], $user["pan"]';
4

3 回答 3

0

尝试这个

 $sql= "INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES('".$user["username"]."', '".$user["password"]."', '".$user["contact_no"]."', '".$user["pan"]."')";

你没有关闭括号“)”

于 2013-11-09T12:32:12.427 回答
0

当您在 PHP 上使用单引号 ( ') 定义字符串时,变量的 $-notation不会被解释。所以最终的 sql 语句仍然包含$字符。这不是有效的 sql。

而是像这样创建您的语句:

sprintf('INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES(%s,%s,%s,%s)',
        $user['username'], $user['password'], $user['contact_no'], $user['pan']);

但是请注意,这有 sql 注入的味道。您应该使用准备好的语句来获得更好的安全性。使用 PDO 或 PHP 的 mysqli 扩展。

于 2013-11-09T12:33:46.157 回答
0

希望对你有帮助

 $sql= 'INSERT INTO users (username,password,contact_no,Pan_card_no) VALUES("'.$user['username'].'", "'.$user['password'].'", "'.$user["contact_no"].'", "'.$user["pan"].'")';
于 2013-11-09T12:34:05.090 回答