我真的开始研究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;
?>
答案 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'];
}
}