基本的php问题 - 连接数据库

时间:2011-07-27 10:59:53

标签: php mysql database-connection

我真的开始研究php,连接到远程数据库并返回数据。我一直在关注一个教程,但是当我应用相同的代码(如教程)时,我得到了

  

服务器错误

     

网站在检索http://localhost:8888/file.php时遇到错误。它可能已关闭以进行维护或配置不正确。   以下是一些建议:   稍后重新加载此网页。

这是脚本 - 数据库连接没问题,我相信它会检索导致错误的数据,但不知道如何修复它。

  <?php

   // Database credentials
   $host = "localhost"; 
   $db = "json"; 
   $uid = "json"; 
   $pwd = "json1";

    // Connect to the database server   
    $link = mysql_connect($host, $uid, $pwd) or die("Could not connect");

   //select the json database
   mysql_select_db($db) or die("Could not select database");


// Create an array to hold our results
   $arr = array();
   //Execute the query
   $rs = mysql_query("SELECT id,userid,firstname,lastname,email FROM users");

   // Add the rows to the array 
   while($obj = mysql_fetch_object($rs)) {
   $arr[] = $obj;

?>

2 个答案:

答案 0 :(得分:4)

在您的脚本结束时,您有:

// Add the rows to the array 
   while($obj = mysql_fetch_object($rs)) {
   $arr[] = $obj;

?>

您正在{行打开while;但永远不要关闭它。

答案 1 :(得分:1)

您可以考虑使用mysql_fetch_assoc()而不是mysql_fetch_object()。命名数组通常比更随机的对象更容易处理。

添加了mysql错误的显示。

$link = mysql_connect($host , $uid, $pwd);
if (!$link) {
    echo "Error connection to database. MySQL said: ";
    echo mysql_error();
    exit;
}
if (!mysql_select_db($db)) {
        echo "Couldn't select database.";
}

$rs = mysql_query("SELECT id,userid,firstname,lastname,email FROM users WHERE 1=1");

$users = array();
if ($rs && mysql_num_rows($rs) > 0) {
    while($userRow =  mysql_fetch_assoc($rs)){
        $users[] = $userRow; 

        // Or do what you want with the user data
         $id = $userRow['id'];
         $userId = $userRow['userid'];
         $firstname= $userRow['firstname'];
         $lastname= $userRow['lastname'];
         $email= $userRow['email'];

    }
}