有了這段代碼,如果我從查詢中刪除內部聯接,一切都會正常工作。 另外,我試着從phpMyAdmin查詢,它工作得很好。內部加入MySQL的MySQL查詢不起作用
這裏是我的代碼:
$db = mysql_connect("localhost", USERNAME,PASSWORD);
if (!$db) {
echo("<p>Error creating Database Connection</p>");
exit;
}
$db_selected = mysql_select_db(DATABASE_NAMEPH,$db);
$sql = "SELECT * FROM user " +
"INNER JOIN gender ON user.id = gender.user_id "+
"INNER JOIN user_address ON user.id = user_address.user_id "+
"INNER JOIN address ON address.id = user_address.address_id;";
$result = mysql_query($sql,$db);
if(!$result){
echo("<p>Unable to query database at this time.</p>");
}
$num_results = mysql_num_rows($result);
mysql_close($db);
while($row = mysql_fetch_assoc($result)){
echo" <form name='register' class='register'> ";
echo" <fieldset class='row1'>";
echo" <legend>".$row["fName"].", ".$row["lName"]."'s Personal Details</legend> </fieldset>";
echo" <p><label>Email:</label><data> ".$row["email"]."</data> </p>";
echo" <p><label>First Name:</label><data> ".$row["fName"]."</data></p>";
echo" <p><label>Last Name:</label><data> ".$row["lName"]."</data></p>";
echo" <p><label>Phone:</label><data> ".$row["phone"]."</data></p>";
echo" <p><label>Street:</label><data> ".$row["street"]."</data></p>";
echo" <p><label>City:</label><data> ".$row["city"]."</data></p>";
echo" <p><label>State: </label><data>".$row["state"]."</data></p>";
echo" <p><label>Zip Code:</label><data> ".$row["zip"]."</data></p>";
echo" <p><label>Gender:</label><data> ".$row["name"]."</data></p>";
echo" <p><label>Birthdate:</label><data> ".$row["bDate"]."</data></p>";
echo" <p><label>Additional Info:</label><data> ".$row["info"]."</data></p>";
echo" <p><label>Admin:</label><data> ".$row["flag"]."</data></p></fieldset></form>";
}
?>
<h3 id="path">Number of users registered: <?php echo $num_results; ?></h3>
以下是錯誤消息我得到:
Unable to query database at this time.
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in
/Users/mjramahi/Sites/web/admin/users.php on line 129
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
/Users/mjramahi/Sites/web/admin/users.php on line 132
PHP使用點'.'進行連結,而不是'+',你在你的SQL語句有。使用'+'可能會導致將字符串錯誤地轉換爲整數(零),並將它們添加到SQL語句的int 0中。 –
@MichaelBerkowski說什麼。因此,總是在執行轉儲(或調試)時查找正在查詢的問題,而不是假設您複製並粘貼到phpMyAdmin的問題與真實查詢相同。儘管避免了不推薦的mysql_ *函數... – markdwhite
這個問題似乎是無關緊要的,因爲問題是一個錯字。 –