php:为什么cann';我不能插入数据库吗?
首先,我没有得到任何错误,但它仍然不工作。 我只想在我的表中插入。。。我也试过php:为什么cann';我不能插入数据库吗?,php,sql,database,insert,Php,Sql,Database,Insert,首先,我没有得到任何错误,但它仍然不工作。 我只想在我的表中插入。。。我也试过 mysqli_query($db, "INSERT INTO Rangliste2 (name, score) VALUES ('$text', $zahl)"); 以前,同样的,不令人满意的结果 <?php> // score speichern $zahl = $_POST["text2"]; // name speichern $text = $_POST["text1"]; if($text
mysqli_query($db, "INSERT INTO Rangliste2 (name, score) VALUES ('$text', $zahl)");
以前,同样的,不令人满意的结果
<?php>
// score speichern
$zahl = $_POST["text2"];
// name speichern
$text = $_POST["text1"];
if($text == null){
echo("Keinen Text empfangen.");
}
// verbindung zu db herstellen
$db = @new mysqli("...", "...", "...", "...");
if($db->connect_error){
die("<pre>".$db->connect_error."</pre>");
}
$sql = $db->query("INSERT INTO Rangliste2 (name, score) VALUES ('$text', $zahl)");
//sql abfrage
$sql = $db->query("SELECT * FROM Rangliste2 ORDER BY score DESC");
$num = $sql->num_rows; // anzahl der Datensätze
if($num > 0){
while($row = $sql->fetch_object()){
echo ("$row->name: $row->score\n");
}
}
?>
您是否尝试var\u转储($\u POST)
若要查看您是否获得任何值,请检查此值(“$text”,“$zahl)
u缺少其他变量上的'
,您应该删除所有@
字符(如在创建db连接时),因为该字符会抑制错误,并且会自动失败。相反,正确地处理错误将更容易调试代码。您对查询非常开放,应该使用而不是串联查询。特别是因为你根本没有逃避用户的输入!您是否已检查服务器错误日志中的潜在错误消息?请不要等待编写安全代码。1.稍后您将忘记/错过/没有时间,一些不安全的代码将进入生产。2.您需要全部重写它,因此在使用准备好的语句时会出现新的错误。3.返回并重写代码比从一开始就正确执行代码要花费更长的时间。。4.这并不完全是关于安全性的,目前,如果任何值包含“
字符,您的代码将中断。5.当重写它以使用准备好的语句时,实际上可能会解决当前的错误。