如果在PHP脚本中不起作用

时间:2016-01-21 09:34:23

标签: php

我有php代码来显示返回的信息消息。但这不起作用。

这是代码的示例:

<?php
  if(intval(mysql_num_rows($req2))==0) {
?>
  (No reply)
<?php
} else {
?>
  (<?php echo $dn2['reps']-1; ?> time reply)
<?php
}
?>

如何解决?

3 个答案:

答案 0 :(得分:0)

你能不能使用更简洁的代码风格,如:

<?php
    if( intval( mysql_num_rows( $req2 ) )===0 ){
        echo '(No reply)';
    } else {
        echo '( '.( $dn2['reps']-1 ).'time reply )';
    }
?>

答案 1 :(得分:0)

调试/读取代码非常困难。你应该总是试着考虑你的代码的可读性,这是一个通常很好的做法,你将在未来感谢自己。

所以,不是你现在的方法,你可以做一些事情......

htmlspecialchars()

我还添加了else {},因为您应该转义要打印到页面的任何输出,否则您将容易受到潜在的注入攻击。

如果您希望将其更改为以下内容,您也可以删除$html = '(No Reply)'; if (mysql_num_rows($req2) > 0) { $reps = $dn2['reps'] - 1; $html = '(' . htmlspecialchars($reps) . 'time reply)'; } echo $html; 语句:

$req2

还有一件事你对变量名称100%肯定,你的if语句似乎有点奇怪。您正在检查$dn2是否返回行,如果是,则表示您正在访问&#39; reps&#39;来自$req2['reps'],只是为了澄清不应该是corelationId

答案 2 :(得分:0)

PDO - Php数据库对象。取决于PHP的版本但它的好,因为防止sql注入,面向对象等。将从PHP 7.0中删除mysql扩展。这意味着如果你升级,就会有麻烦。您可以通过执行$ phpinfo来查看是否有PDO,并查看是否列出了它。

This is a great article on getting started with it - 它详细解释了它的工作原理。