0

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

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

2 回答 2

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();

或者,例如,参考 这个页面。请清理数据...即使使用准备好的语句,我也会检查字符串是否有效。我太担心了,你不是吗?

于 2013-08-30T19:36:39.307 回答
0

确保在 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!!! :-)";
于 2013-08-30T22:45:21.210 回答