Php mysql连接成功,但未选择数据库?
第一次使用mysqli,并在准备好的语句中苦苦挣扎。 这是数据库问题还是表问题 这是使用CodeIgniter框架和自动配置。。。Php mysql连接成功,但未选择数据库?,php,mysql,codeigniter,mysqli,Php,Mysql,Codeigniter,Mysqli,第一次使用mysqli,并在准备好的语句中苦苦挣扎。 这是数据库问题还是表问题 这是使用CodeIgniter框架和自动配置。。。 我使用的是database.php自动配置文件 我的连接由$con=mysqli_connect()或die('Error in Connecting:')建立。mysqli_Error($con))并显示为成功 我准备好的语句是$stmt=mysqli\u prepare($con,“插入到表(documentID)值(?) 然后,当我检查准备好的语句时,我得到
$con=mysqli_connect()或die('Error in Connecting:')建立。mysqli_Error($con))代码>并显示为成功
$stmt=mysqli\u prepare($con,“插入到表(documentID)值(?)代码>
1046未选择任何数据库
,但我的代码只是告诉数据库选择/连接正常李>
下面是我的模型中的俯视图:
$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()或die('Error in Connecting:'。mysqli_Error($con));
如果(!$con){
echo“错误:无法连接到MySQL。”.PHP\u EOL;
echo“调试错误号:”.mysqli\u connect\u errno().PHP\u EOL;
echo“调试错误:”.mysqli\u connect\u error().PHP\u EOL;
回声“;
出口
}
其他的
{
echo“成功:与MySQL建立了正确的连接!my_db数据库很棒。”.PHP_EOL;
echo“主机信息:”.mysqli\u get\u Host\u info($con).PHP\u EOL;
//成功:与MySQL建立了正确的连接!
$stmt=mysqli_prepare($con,“插入表(documentID)值(?));
如果(!$stmt){
呼应“问题”;
$error=$con->errno.''.$con->error;
echo$error;//1046未选择任何数据库
出口
}
如果您只需要在同一连接上使用不同的数据库,则不需要创建单独的数据库配置。您可以在需要时切换到不同的数据库,如下所示:
$this->db->db_select($database2_name);
如果您只需要在同一连接上使用不同的数据库,则不需要创建单独的数据库配置。您可以在需要时切换到不同的数据库,如下所示:
$this->db->db_select($database2_name);
重要的是要注意,在建立数据库连接时需要考虑几个层。首先需要连接到服务器,然后连接到您所选择的数据库。一旦完成,您就可以运行查询。 查看mysqli_connect()的PHP手动条目
在MySQL连接方法被编译后不会有MySQL错误,这是不足为奇的,因为你实际上从来没有要求它做任何事情。
重要的是要注意在进行数据库连接时要考虑几个层次。首先需要连接到服务器,然后连接到CHO的数据库。完成后,您就可以运行查询了
查看mysqli_connect()的PHP手动条目在构造mysqli_connect方法之后,不会出现mysqli错误也就不足为奇了,因为您实际上从未要求它做任何事情。为了便于下一个可能遇到此问题的人阅读……有几个片段回答了我的问题
- Fred ii指出,“CI使用不同的方法作为准备好的声明” 回首往事,我不知道我是如何忘记这一点的。突然之间,我在CodeIgniter框架之外苦苦挣扎于mysqli语句,并找到了错误的答案
- OffTheBricks指出,“在构造mysqli_connect方法之后,不会出现mysqli错误,这并不奇怪,因为实际上您从未要求它做任何事情。”
谢谢你的帮助……现在感觉自己有点像个白痴。为了让下一个可能遇到这种情况的人更容易阅读……这里有几个片段回答了我的问题
- Fred ii指出,“CI使用不同的方法作为准备好的声明” 回首往事,我不知道我是如何忘记这一点的。突然之间,我在CodeIgniter框架之外苦苦挣扎于mysqli语句,并找到了错误的答案
- OffTheBricks指出,“在构造mysqli_connect方法之后,不会出现mysqli错误,这并不奇怪,因为实际上您从未要求它做任何事情。”
感谢您的帮助…现在感觉自己有点傻。没有主机、用户或密码,连接怎么可能成功?这是一个连接问题。
$con=mysqli\u connect()
如果这是你的真实代码,这里很明显。RTM有你吗?因为CI是一种完全不同的动物,不使用相同的语法。编辑:对不对Sam?@Jayblanchard另一件事,CI使用不同的方法作为准备语句没有主机、用户或密码,连接如何成功?这是一个连接p问题。$con=mysqli\u connect()
如果这是你的真实代码,这里很明显。RTM有你吗?因为CI是一种完全不同的动物,不使用相同的语法。编辑:对吗,山姆?@Jayblanchard另一件事,CI使用不同的方法作为准备语句…你从来没有要求它做任何事情…我认为这是这里的关键…你从来没有要求它做任何事……我想这是关键。