我正在改变我所有的查询是使用PHP MySQL到MySQLi。
我创建了一个名为db.php的文件,其中包含连接设置。
该文件包括
<?php
$db = new mysqli('localhost','mysqlusername','mysqlpassword');
echo "<h1>Success database connection</h1>";
if($db->connect_errno > 0)
{
die('No connection [' . $db->connect_error . ']');
}
?>
我将该文件包括在:
require_once "/location/db.php";
之后我使用:
if($db->connect_error)
{
echo "Not connected, error: ".$db->connect_error;
}
else
{
echo "Connected.";
}
它的回声连接,所以我假设我的连接是好的。
我有3个PHP变量,我想插入到我的数据库表代码
我首先回显变量,这样我就可以确定它们有内容。
在我验证了我的连接是正确的(返回Connected)并回显了我想要用其执行查询的变量的内容之后:
$sql = "INSERT INTO 'Code' (`Name`, `Code`, `Admin`)
VALUES ('$name', '$code', '$admin')";
echo $sql;//show query
// Performs the $sql query on the server to insert the values
if ($db->query($sql) === TRUE)
{
echo 'User Created.';
}
else
{
echo 'Errorcreating : '. $db->error;
}
我收到错误创建消息:未选择数据库
我使用echo $sql来显示查询。
如果我直接在SQL中复制查询,它会正常工作。
这是我第一次使用MySQLi,所以可能我犯了一个非常愚蠢的错误,但我找不到它。
5条答案
按热度按时间d5vmydt91#
打开连接时,可以将数据库名称作为第四个参数传递:
另外,转义符也不正确。不要在表名两边使用单引号,而要使用反勾符
i34xakig2#
实际上,您没有选择任何数据库。您已经连接到DB服务器,那里可能有数百个数据库。您需要指定要将查询发送到哪个数据库!
您的查询是正确的,并且在您直接输入时可以正常工作,因为在您这样做时已经指定了要使用的数据库。
ua4mk5z43#
代码中没有选择数据库,根据www.example.com中的this pagephp.netmysqli_connect或mysqli构造函数中有一个参数,用于输入数据库名称。
下面是一个简单的例子:
brccelvz4#
尝试此解决方案:
0dxa2lsx5#
试试这个