【发布时间】:2016-02-16 20:32:29
【问题描述】:
第一次使用 mysqli 并在准备好的语句中挣扎。 这是数据库问题,还是表问题?
这是使用带有自动配置的 CodeIgniter 框架... http://www.codeigniter.com/user_guide/database/connecting.html
- 我正在使用 database.php 自动配置文件
- 我的连接是由
$con = mysqli_connect() or die('Error in Connecting: ' . mysqli_error($con));建立的,似乎是成功的。 - 我准备好的声明是
$stmt = mysqli_prepare($con, "INSERT INTO table(documentID) VALUES (?)"); - 然后当我检查准备好的语句时,我得到一个错误
1046 No database selected但我的代码只是告诉数据库选择/连接很好。
下面我的模型中的概览:
$con = mysqli_connect() or die('Error in Connecting: ' . mysqli_error($con));
if (!$con) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
echo "<b>";
exit;
}
else
{
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($con) . PHP_EOL;
//Success: A proper connection to MySQL was made!
$stmt = mysqli_prepare($con, "INSERT INTO table(documentID) VALUES (?)");
if (!$stmt) {
echo "Problem <b>";
$error = $con->errno . ' ' . $con->error;
echo $error; // 1046 No database selected
exit;
}
【问题讨论】:
-
没有主机、用户和密码如何连接成功?这是一个连接问题。
-
$con = mysqli_connect()如果那是你的真实代码,这里很明显。 RTMphp.net/manual/en/function.mysqli-connect.php -
因为 CI 完全是一种不同的动物,并且不使用相同的语法。编辑:山姆不是吗? @JayBlanchard
-
另外一件事,CI 使用不同的方法作为prepared statement ellislab.com/codeigniter/user-guide/database/queries.html
标签: php mysql codeigniter mysqli