我使用了这个系列,我接受了这个视频,mysql_num_rows
从一开始就一直在惹恼我。
http://www.youtube.com/watch?v=HP75yyjHgTg
我只花了5个小时,只是试图解决所有这些mysql_num_rows
错误。
在片刻我正在做个人资料页面,我收到了一个错误。
错误是:
警告:mysql_num_rows()期望参数1为资源,在第8行的/home/ztechrel/public_html/TESTING/blarg/REMAKE/profile.php中给出null(第一行是mysql_num_rows部分)
profile.php中的代码是:
<?php include("inc/incfiles/header.php"); ?>
<?php
if(isset($_GET['u'])) {
$username = mysql_real_escape_string($_GET['u']);
if(ctype_alnum($username)) //check user exists
$check = mysql_query("SELECT username,first_name FROM users WHERE username='$username'");
if(mysql_num_rows($check)===1)
{
$get = mysql_fetch_assoc($check);
$username = $get['username'];
$firstname = $get['first_name'];
}
else
{
echo "<h2>User Does Not Exist</h2>";
exit();
}
}
?>
有没有办法解决这个问题?
或者有人知道我可以写这个的另一种方式吗?
他再次使用mysql_num_rows
并不会感到惊讶,有什么我可以使用而不是易于实现的东西吗?
如果您需要任何其他信息,请询问。
答案 0 :(得分:0)
使用它来检查查询中的错误
$username = mysql_real_escape_string($_GET['u']);
if(ctype_alnum($username)) {
//check user exists
$check = mysql_query("SELECT username,first_name FROM users
WHERE username='$username'") or die(mysql_error());
if(mysql_num_rows($check)===1){
$get = mysql_fetch_assoc($check);
$username = $get['username'];
$firstname = $get['first_name'];
}
else
{
echo "<h2>User Does Not Exist</h2>";
exit();
}
}
答案 1 :(得分:0)
确保您是PHP的捕获错误。
可能是之前的语句mysql_query未执行,因此未设置结果。
如果mysql_query正确执行或注意
,请尝试使用以下内容$check = mysql_query("SELECT username,first_name FROM users WHERE username='$username'") or die(mysql_error()."<br>".$sql);
答案 2 :(得分:0)
这意味着您的查询不会返回任何内容。为您的查询添加echo并将其显示在浏览器中。然后复制查询并在phpmyadmin或mysql查询浏览器或其他一些mysql编辑器中运行它。尝试查找$username
是否具有正确的值,或查询中的任何字段名称是否错误。
答案 3 :(得分:0)
确保变量$username
不为空。ctype_alnum
返回false。所以$query
是空的。
<?php include("inc/incfiles/header.php"); ?>
<?php
if(isset($_GET['u'])) {
$username = mysql_real_escape_string($_GET['u']);
if ($username != "" && if(ctype_alnum($username))) {
$check = mysql_query("SELECT username,first_name FROM users WHERE username='$username'");
if(mysql_num_rows($check)===1)
{
$get = mysql_fetch_assoc($check);
$username = $get['username'];
$firstname = $get['first_name'];
}
else
{
echo "<h2>User Does Not Exist</h2>";
exit();
}
}
}
?>