post方法直接在我的SQL查询中获取值不起作用

时间:2017-08-30 07:47:46

标签: php sql

请解决这些原因 它不起作用

$write=mysql_query("INSERT INTO dbtry(name,id) VALUES('$_POST['name']','')");} 

它给了我一个错误

  

解析错误:语法错误,意外'' (T_ENCAPSED_AND_WHITESPACE),   期待标识符(T_STRING)或变量(T_VARIABLE)或数字   第11行的C:\ xampp \ htdocs \ test \ dbtry.php中的(T_NUM_STRING)

4 个答案:

答案 0 :(得分:2)

为防止SQL injection,我建议您执行以下操作:

$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);

if ($stmt = $mysqli->prepare("INSERT INTO dbtry(name,id) VALUES(?, ?)")) {
    $stmt->bind_param("s", $name);
    $stmt->bind_param("i", $id);
    $stmt->execute();
    $stmt->close();
}

答案 1 :(得分:0)

您应该将值存储在变量和

$name=$_POST['name'];
$write=mysql_query("INSERT INTO dbtry(name,id) VALUES('$name','')");

希望它有效。

答案 2 :(得分:0)

使用连接运算符(。)作为POST值。

$write=mysql_query("INSERT INTO dbtry(name,id) VALUES('".$_POST['name']."','')"); 

答案 3 :(得分:0)

更改

$write=mysql_query("INSERT INTO dbtry(name,id) VALUES('$_POST['name']','')");

$write = mysql_query(
    "INSERT INTO " .
    "dbtry (name,id) " .
    "VALUES ( " .
    "'" . $_POST['name'] . "' " .
    ",'' " .
    ")"
);