【发布时间】:2013-05-01 09:30:45
【问题描述】:
我正在将所有使用 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 变量要插入到我的数据库表代码中
我首先回显变量,所以我确定它们有内容。
在我验证我的连接正常(返回已连接)并回显我想要进行查询的变量的内容后:
$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;
}
我收到消息 Errorcreating : No database selected
我有 echo $sql 来显示查询。
如果我直接在 SQL 中复制查询,它会正常工作。
这是我第一次使用 MySQLi,所以我可能犯了一个非常愚蠢的错误,但我找不到它。
【问题讨论】:
-
echo "
数据库连接成功
";您没有指定任何条件何时打印此内容,即使连接未建立,您也将始终收到 dis 消息。 -
我宁愿 -1 因为错误信息是不言自明的
-
是的,但我正在连接,所以我认为没关系