将数据更新到mysql不起作用


Updating data into mysql not working

我试图在从表单获取数据的php文件中设置一个更新功能,但它没有在phpmysql中更新它,这是查询,可能是我遗漏了什么。

 $query="UPDATE controlpanel1 SET ftitle_p1_1 = '$_POST[ftitle_p1_1]'";

正如每个人都想说的那样,你不应该这么做,因为这很危险。让我试着用MySQLi(你想使用MySQLi或PDO)和一个准备好的语句:给你一个基本的例子,说明什么是或多或少更可接受的过程

 $query= $MysqliConnection->prepare("UPDATE controlpanel1 SET ftitle_p1_1 = ? WHERE id = ?"); //reason why it's not updating, probably. You have to tell the system where to update. Which row.
 $query->bind_param("si", $title, $id); //string, integral - title and id(?). Just guessing.
 $title = $_POST["title_p1_1"];
 $id = $_GET["I_have_no_idea"]; // or $_POST["I_have_no_idea"];
 $query->execute();
 $query->close();
 $MysqliConnection->close();

或者,参考,比如说,这一页。请对数据进行消毒。。。即使使用准备好的语句,我也会检查字符串是否有效。我太担心了,而你没有?

确保在php.ini配置文件中启用了mysqli扩展和pdo扩展
您需要选择是走程序化的还是OO的方式,还是走mysqli或PDO的方式
这是程序性的mysqli:

$DBConnect = new mysqli("localhost", "root", "myCoolPW", "myDBname");
$FTitle = '_';
$FTitle = $_POST['ftitle_p1_1'];
echo " Test posted FTitle: " . $FTitle . " ";
$query = "
  UPDATE controlpanel1
  SET ftitle_p1_1 = '$FTitle'
  WHERE id != '2'
",
echo " Test query: " . $query . " ";  
mysqli_query($DBConnect, $query);  
if (mysqli_affected_rows($DBConnect) == -1)
    echo "NOT successfull  :-(";
else
    echo "SUCCESS!!! :-)";