简单的MySQL" USE"查询不会返回任何使用PHP的响应

时间:2016-12-31 13:21:10

标签: php mysql

道歉,如果这看起来很简单。我刚刚开始使用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)

有没有人有任何想法?

3 个答案:

答案 0 :(得分:1)

在执行sql之前,您应该选择数据库。

PHP Site

<?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);