道歉,如果这看起来很简单。我刚刚开始使用PHP和MySQL,并且在过去的两天里我一直坚持这一点。
基本上,我正在编写用户注册/登录系统,并且我(显然)选择了将存储用户凭据的数据库存在问题。
我的代码被剥夺了要点。
<?php
$servername = "localhost";
$username = "qtesting";
$password = "test";
$database = "qtesting";
$mysqli = mysqli_connect($servername, $username, $password) or die('Error connecting to MySQL server.');;
if($mysqli->connect_errno > 0){
die('Unable to connect to database [' . $mysqli->connect_error . ']');
}
$result=mysqli_query("USE qtesting");
echo $result;
如果我允许我的完整代码运行,则返回&#34;未选择数据库&#34;当我试图运行任何进一步的查询。因此,我将代码逐行减少到上面所看到的内容,并打开查询日志记录以查看发生了什么。
根据我的查询日志,连接已成功打开到服务器,但USE查询似乎没有运行。为了澄清,我创建了$ result变量并要求PHP回显$ result以进行调试。
另外,您可能会注意到我已经定义了一个$ database变量。我还尝试通过mysqli_connect建立连接时选择数据库($ servername,$ username,$ password,$ database)
有没有人有任何想法?
答案 0 :(得分:1)
在执行sql之前,您应该选择数据库。
<?php
$servername = "localhost";
$username = "qtesting";
$password = "test";
$database = "qtesting";
$mysqli = mysqli_connect($servername, $username, $password) or die('Error connecting to MySQL server.');;
if($mysqli->connect_errno > 0){
die('Unable to connect to database [' . $mysqli->connect_error . ']');
}
$mysqli->select_db($database);
//write you insert, update, delete or select
答案 1 :(得分:0)
在连接时选择数据库
调整mysqli_connect
字符串以指定数据库选择,添加第四个参数:
$mysqli = mysqli_connect($servername, $username, $password, $database) or die('Error connecting to MySQL server.');
http://php.net/manual/en/function.mysqli-connect.php
关于MySQL用户凭据的说明
您说&#34; ...选择将存储用户凭据的数据库。&#34;我假设您正在谈论自己的用户和密码表,对吧? MySQL连接用户名和密码(qtesting和test)供您的脚本连接,并存储在MySQL内部的系统表中。
答案 2 :(得分:0)
实际上您已建立连接但未选择数据库。在if语句
之后粘贴以下代码行mysqli_select_db($mysqli,$database);