没有数据库选择帮助我解决这个问题


No database selected help me solve this

大家好,这是什么问题:(我没有选择数据库..有什么问题吗?我真搞不懂。

    <?php
require_once('db.php');
function getLanguage() {
    global $db;
    global $conn;

    $sql = "SELECT * FROM books.languages ORDER BY name ASC";
    $db = mysql_connect($hostname, $username, $password);
    $rs = mysql_query($sql, $db) or die(mysql_error());
    $rows = mysql_fetch_assoc($rs);
    $tot_rows = mysql_num_rows($rs);
    if($tot_rows > 0){


?>

问题是没有选择数据库(我在你的问题中没有看到吗?)

您对mysql_select_db ( string $database_name [, resource $link_identifier = NULL ] )的呼叫在哪里?

应该在connect之后。

$db = mysql_connect($hostname, $username, $password);
mysql_select_db("your_database_name");
$rs = mysql_query($sql, $db) or die(mysql_error());

(显然你也应该有错误检查…)

也许下面的东西会有所帮助?我正在使用MySQLi,因为MySQL已被弃用。

db.php

<?php    
    // CONNECT TO THE DATABASE
    $DB_NAME = 'database';
    $DB_HOST = 'host';
    $DB_USER = 'username';
    $DB_PASS = 'password';
    $mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
    if (mysqli_connect_errno()) {
    printf("Connect failed: %s'n", mysqli_connect_error());
    exit();
    }
?>

然后使用以下命令查询数据库。

<?php
    require_once('db.php');
    $sql = "SELECT * FROM tablename";
    $rs = $mysqli->query($sql) or die($mysqli->error.__LINE__);
    if($rs->num_rows > 0) {
    while($row = $rs->fetch_assoc()) {
    //Do Something  
    }
    }
    else {
    echo 'NO RESULTS';  
    }
    mysqli_close($mysqli);
?>