Php MySQL:Num行不工作
我偶然发现了一个简单的MySQL错误,似乎我修复它的尝试是毫不费力的。问题是,这不算 在进一步讨论之前,我知道Php MySQL:Num行不工作,php,mysql,Php,Mysql,我偶然发现了一个简单的MySQL错误,似乎我修复它的尝试是毫不费力的。问题是,这不算 在进一步讨论之前,我知道mysql.*已被弃用了,我不应该使用它。我应该使用mysqli.*或PDO 这是我的查询,是的,echo仅用于测试 $ms_sql = mysql_query("SELECT * FROM mijnsp WHERE sp_username = '".$user['username']."'"); while ($mijnspusers = mysql_fetch_assoc($
mysql.*
已被弃用了,我不应该使用它。我应该使用mysqli.*
或PDO
这是我的查询,是的,echo
仅用于测试
$ms_sql = mysql_query("SELECT * FROM mijnsp WHERE sp_username = '".$user['username']."'");
while ($mijnspusers = mysql_fetch_assoc($ms_sql)) {
$ms_count = mysql_num_rows($ms_sql);
if($ms_count <= 0){
echo "Result is empty";
}else{
echo $mijnspusers['new_username'];
}
$ms_sql=mysql_query(“从mijnsp中选择*,其中sp_username='”。$user['username'.'”);
而($mijnspusers=mysql\u fetch\u assoc($ms\u sql)){
$ms\u count=mysql\u num\u行($ms\u sql);
如果($ms_count呼叫
在while()
循环之前。在进入循环之前,您应该执行mysql\u num\u rows()
。如果num为0,那么您将永远不会开始运行循环
您的代码应该是:
$ms_sql = mysql_query("SELECT * FROM mijnsp WHERE sp_username = '".$user['username']."'");
$ms_count = mysql_num_rows($ms_sql);
if($ms_count == 0){
echo "Result is empty";
}else{
while ($mijnspusers = mysql_fetch_assoc($ms_sql)) {
echo $mijnspusers['new_username'];
}
}`
请。已经在PHP 7中被删除了。了解有关PDO的语句,并考虑使用PDO。@ Jay Blanchard,就像我说的,我知道。但是,系统本身不是我的,这是一个很长的时间转换一切。谢谢过滤提示,但是现在只在我的个人计算机上。当有R时,查询本身就起作用。我讨厌人们说“我没走那么远…”或“这个网站不会公开…”或“它只供学校使用,所以安全不重要…”.如果老师和教授从第一天开始就不谈论安全性,那他们就是在做错事。他们在教授草率而危险的编码实践,学生们以后将不得不放弃这些实践。我也讨厌人们说,“我以后再添加安全性…”。如果您第一次没有时间做正确的操作,您将在什么时候找到时间添加它\_(ツ)_/''这不仅仅是因为它被弃用了,它甚至在当前版本的PHP中都不起作用!谢谢。我真蠢。我知道这一点,只是它被时间遗忘了。内存不好。这当然修复了它。@PascalBoschma nice!最重要的是,如果在循环中使用OP,它在第二次迭代中将不会返回任何内容
if($ms_count <= '0'){
$ms_count = mysql_num_rows($ms_sql);
$ms_sql = mysql_query("SELECT * FROM mijnsp WHERE sp_username = '".$user['username']."'");
$ms_count = mysql_num_rows($ms_sql);
if($ms_count == 0){
echo "Result is empty";
}else{
while ($mijnspusers = mysql_fetch_assoc($ms_sql)) {
echo $mijnspusers['new_username'];
}
}`