我将所有使用PHP MySQL的查询更改为MySQLi。
我创建了一个名为db.php的文件,其中包含连接设置。
该文件包括
<?php
$db = new mysqli('localhost', 'mysqlusername', 'mysqlpassword');
字符串
我将文件包含在:
require_once "/location/db.php";
型
之后我用途:
if($db->connect_error)
{
echo "Not connected, error: ".$db->connect_error;
}
else
{
echo "Connected.";
}
型
这是"连接"的回声,所以我想我的连接是好的.
我有3个PHP变量,我想插入到我的数据库表。
在我验证了我的连接是正确的,我想做的查询:
$stmt = $mysqli->prepare("INSERT INTO Code (`Name`, `Code`, `Admin`) VALUES (?,?,?)");
$stmt->execute([
$name,
$code,
$admin
]);
型
但我得到了错误:
未选择数据库
我验证了语法和相同的SQL工程时,在MySQL CLI中执行。我在使用mysqli时做错了什么?
4条答案
按热度按时间f2uvfpb91#
打开连接时,可以将数据库名称作为第四个参数传递:
字符串
np8igboo2#
实际上,您没有选择任何数据库。您已经连接到DB服务器,其中可能有数百个数据库。你需要指定你要把查询发送到哪一个!
您的查询是正确的,并且当您直接输入它时,它可以工作,因为当您这样做时,您已经指定了要使用的数据库。
wwtsj6pe3#
您尚未在代码中选择数据库。根据www.example.com中的this pagephp.net,在mysqli_connect或mysqli构造函数中有一个参数,您可以输入数据库名称。
下面是一个简单的例子:
字符串
kq0g1dla4#
试试这个解决方案:
字符串