如何使用Var Dump使用$ _POST更新SQL记录

时间:2017-12-27 00:08:05

标签: php mysql

我想将来自publish.php上的表单的输入数据发送到updateCopy.php,然后更新我的SQL数据库上的“postCopy”列。

到目前为止,这是我的代码:

publish.php

<form action="\.\.\updateCopy.php" method="post" id="newCopy">
<input type="text" name="postCopy">
<input type="submit">
</form>

updateCopy.php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "main";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE posts SET postCopy= var_dump ($_POST["postCopy"]); WHERE id=123456789";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

当我尝试运行此过程时,出现以下错误:

  

解析错误:语法错误,意外''',期待' - '或标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)

是否有人能够告诉我如何使用var_dump($ _POST [“postCopy”]);包括更新的postCopy信息,然后更新我的SQL数据库?

1 个答案:

答案 0 :(得分:1)

不知道为什么要尝试使用var_dump来执行SQL语句,这是没有意义的,然后;也会终止sql 1}},如果你谈论错误

$sql ="UPDATE posts SET postCopy= var_dump ($_POST["postCopy"]); WHERE id=123456789";

将其更改为

$sql ="UPDATE posts SET postCopy= '".$_POST['postCopy']."' WHERE id=123456789";

并且错误将消失。

注意:这不是最佳方式,而是sql注入的公开邀请,您应该使用prepared statementsparameterized queries使用PDO或{{ 3}}