我试图在从表单获取数据的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!!! :-)";