我还没有发现我在编码中犯的错误。我尝试插入数据,代码没有显示错误,当我想查看数据时,它显示空白数据 like this for example.我该如何解决这个问题?
<?php
$connect = mysql_connect('localhost','root','');
$database = mysql_select_db('songdb');
$title = $_POST['title'];
$artist = $_POST['artist'];
$genre = $_POST['genre'];
$language = $_POST['language'];
$lyrics = $_POST['lyrics'];
$insert = "INSERT INTO `songs`(`title`,`artist`,`genre`,`language`,`lyrics`) VALUES('$title','$artist','$genre','$language','$lyrics')";
if(!mysql_query($insert)) {
echo "Error." .mysql_error();
} else {
header("Location: insert.php?msg=1");
}
?>
最佳答案
首先你必须使用mysqli
扩展。因为mysql
扩展已被弃用,所以你必须使用准备好的语句来防止sql注入(inject)。
$connect = mysqli_connect('localhost','root','');
mysqli_select_db($connect,'songdb');
$title = $_POST['title'];
$artist = $_POST['artist'];
$genre = $_POST['genre'];
$language = $_POST['language'];
$lyrics = $_POST['lyrics'];
//Preapared statement for inserting
$insert = mysqli_prepare("INSERT INTO songs(title,artist,genre,language,lyrics) VALUES(?,?,?,?,?)");
mysqli_stmt_bind_param($insert,'sssss', $title,$artist,$genre,$language,$lyrics);
if(!mysqli_stmt_execute($insert)){
echo "Error." .mysqli_error();
}
else { header("Location: insert.php?msg=1"); } ?>
关于php - INSERT数据成功但没有显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542130/