这里$user
是一个关联数组,如何在mysql查询中使用它?这里的语法错误是什么?
$sql= 'INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES($user["username"], $user["password"], $user["contact_no"], $user["pan"]';
希望对您有所帮助,
$sql= 'INSERT INTO users (username,password,contact_no,Pan_card_no) VALUES("'.$user['username'].'", "'.$user['password'].'", "'.$user["contact_no"].'", "'.$user["pan"].'")';
试试这个
$sql= "INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES('".$user["username"]."', '".$user["password"]."', '".$user["contact_no"]."', '".$user["pan"]."')";
你没有关闭括号")"
当你使用单引号 ( '
) 在 PHP 上定义字符串时,不会解释变量的 $-表示法。所以最后的 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 扩展。