使用下面给出的php脚本,我连接到数据库并在其中插入数据。但是数据没有插入到我的数据库表中。它也不会抛出任何错误。我的代码哪里有问题?
<?php
$host = '127.0.0.1';
$uname='root';
$pswd='';
$myDB='portal';
if($myConn = new mysqli($host,$uname,$pswd))
echo 'Connected to MySQL server successfully.</br>';
else
echo 'Unable to connect to server</br>';
$database = mysqli_select_db($myConn,$myDB);
if($database)
echo 'Connected to database...</br>';
else
echo 'Database not found!</br>';
$var1='string1';
$var2='string2';
$query= "INSERT INTO users VALUES ($var1,$var2)";
$result = mysqli_query($myConn,$query) or die(mysqli_error($myConn));
?>
您必须在
值周围添加单引号:
$query= "INSERT INTO users VALUES ('$var1','$var2')
或者更好地使用预准备的语句。有关示例,请参阅此处。
在语句中,必须定义数据库中目标表的名称,值应插入到其中,如下所示:
$query= "INSERT INTO users (Name,Age) VALUES ('$name','$age')";
如果用户表只有两列,或者两列加上一个自动递增的 ID,则查询为:
INSERT INTO users VALUES ('$var1','$var2')
如果有更多列或非主 ID,则查询为:
INSERT INTO users (col1,col2) VALUES ('$var1','$var2')
您还错过了连接实例化中的一个参数:
$mysqli = new mysqli($host, $uname,$pswd, $myDB);