我创建了一个"db.php"文件,在其中我连接到我的db:
$db_user = 'usprojus';
$db_pass = 'xxxxxx';
$db_host = 'localhost';
// Verbinden
$dblink = mysqli_connect($db_host, $db_user, $db_pass);
// Datenbank "myproject" auswaehlen
// Entspricht "USE myproject;"
$selected = mysqli_select_db($dblink, 'myproject');
if (!$selected) {
die ('Cannot use DB : '.mysqli_error($dblink));
}
mysqli_set_charset($dblink, 'utf8');
为了测试这一点,我正试图从我的"用户"表中获取数据:
require_once('db.php');
// Get all the data from the "users" table
$result = mysql_query("SELECT * FROM users")
or die(mysql_error());
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
echo 'user_id: '.$row['user_id'].'<br />';
echo 'date_registered: '.$row['date_registered'].'<br />';
echo 'last_login: '.$row['last_login'].'<br />';
echo 'username: '.$row['username'].'<br />';
echo 'email: '.$row['email'].'<br />';
echo 'password: '.$row['password'].'<br />';
echo 'photo: '.$row['photo'].'<br />';
echo 'description: '.$row['description'].'<br />';
echo 'notify: '.$row['notify'].'<br />';
}
但我在浏览器中得到了这个错误:
未选择数据库
我一辈子都搞不清问题出在哪里。
对不起,我知道这是一个新手问题,似乎已经在这里发布了好几次了。但我想不通。
感谢您的时间和耐心。
您混淆了mysqli_
和mysql_
函数。
即mysqli_connect
、mysqli_select_db
、mysqli_set_charset
,但然后是第二个文件中的mysql_query
和mysql_fetch_array
。
选择一个。
也许您应该使用mysqli_query()
(请参阅php文档)
看起来您使用mysqli
函数连接到数据库,但您的查询使用的是mysql
函数。
尝试将查询切换到mysqli
功能:
$result = mysqli_query("SELECT * FROM users")
问题就在这里:
while($row = mysql_fetch_array( $result )) {
在db.php
中,您正在使用改进的MySQL扩展(mysqli)进行连接。
但是在while循环中,您使用了旧的MySQL扩展。