值未插入表中。我尝试了两种方法,一种是直接插入数据,另一种是通过传递保存的变量值,但它没有插入。有人可以帮忙吗?
表的结构是
CREATE TABLE store
(`storeid` int, `storename` varchar(20), `starttime` int,`stoptime` int, `address` varchar(20), `contact` varchar(20));
<?php include 'database.php'; ?>
<?php
echo "hello";
$id= $_POST['t1'];
$name=$_POST['t2'];
$stime=$_POST['t3'];
$sttime=$_POST['t4'];
$add=$_POST['area'];
$con=$_POST['no'];
echo 'end';
mysqli_query($connect,"INSERT INTO store(t1,t2,t3,t4,area,no) VALUES (' 1 ',' hai ',' 9 ',' 10 ',' asa ',' 29148 ')");
mysqli_query($connect,"INSERT INTO store(t1,t2,t3,t4,area,no) VALUES (' $id ',' $name ',' $stime ',' $sttime ',' $add ',' $con ')");
if(mysqli_affected_rows($connect) > 0){
echo 'no';
echo "<p>Employee Added</p>";
}
答案 0 :(得分:0)
您使用Formular字段作为列名称。那不会奏效。你必须使用列名:
mysqli_query($connect,"INSERT INTO store(storeid,storename,starttime,stoptime,address,contact) VALUES VALUES ('$id','$name','$stime','$sttime','$add','$con')");
正如我在评论中所写:使用准备好的语句来阻止SQL注入。
此外,您应该在执行SQL语句(mysqli_error())后检查错误。如果这样做,您会看到错误消息,并且更容易对其进行评估。
答案 1 :(得分:-1)
如果连接变量正确且连接正确,
尝试做这个代码:
mysqli_query($connect,"INSERT INTO `store` (t1,t2,t3,t4,area,no) VALUES ('1','hai','9','10','asa','29148')");
或
mysqli_query($connect,"INSERT INTO `store` (t1,t2,t3,t4,area,no) VALUES ('".$id."','".$name."','".$stime."','".$sttime."','".$add."','".$con."')");
这里的值应该没有空格。
更多相关信息: https://www.w3schools.com/php/php_mysql_insert.asp
http://www.inmotionhosting.com/support/edu/website-design/using-php-and-mysql/php-insert-database
第二个还描述了在将变量插入db之前更好地检查变量。