Php 登录mysql\u num\u行错误
这是我的支票登录文件。。。它显示了一个错误: 调用未定义的函数mysql\u num\u row() 有什么问题吗Php 登录mysql\u num\u行错误,php,mysql,database,Php,Mysql,Database,这是我的支票登录文件。。。它显示了一个错误: 调用未定义的函数mysql\u num\u row() 有什么问题吗 $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1) { session_register("myuse
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1) {
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
错误:
Call to undefined function mysql_num_row()
这意味着您正在使用
mysql\u num\u row()
,而您应该使用mysql\u num\u rows()
。请注意结尾的s。最好使用mysqli ext:
$count=mysqli_num_rows($result);
调用未定义函数mysql\u num\u row()
这表明您有一个输入错误:
将mysql\u num\u row()
更改为mysql\u num\u rows()
您还应该将MySQL更改为MySQLi或PDO,因为从PHP5.5开始MySQL会贬值
您的示例中的MySQLi使用示例:
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysqli_query($sql);
$count=mysqli_num_rows($result);
正如前面提到的mysql\u错误,您使用mysql\u num\u row()而不是mysql\u num\u rows(),但在代码中我看到了mysql\u num\u rows()。你能检查一下吗 一般来说,我建议您使用mysql而不是mysql,因为mysql将在PHP的未来版本中删除
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
出于安全原因,使用此代码可能不安全,具体取决于通过这些变量的验证类型。
如果您使用PDO,您可以执行与大多数安全案例相同的代码:
// Initialize the database connection
$pdo = new PDO('mysql:host='.$your_hostname.';dbname=.'$your_db, $user, $pass,
array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
)
);
$sql="SELECT count(username) FROM $tbl_name WHERE username=:myusername and password=:mypassword";
// Create prepared statement
$stm = $pdo->prepare($sql);
$stm->bindParam(':myusername', $myusername, PDO::PARAM_STR);
$stm->bindParam(':mypassword', $mypassword, PDO::PARAM_STR);
$stm->execute();
if($stm->fetchColumn()){
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
检查回显$sql时得到的结果;尝试
$count=mysql\u受影响的行()代码>mysqli_查询($result)不工作!。。。。。。。虽然mysql_查询($result)运行良好!。。。。。。。mysql\u受影响的\u行()也不工作!:\当用户拥有mysql\u result
对象时,他不能使用它,因为它需要mysqli\u result
对象。当他拥有mysql\u connect和mysql\u select\u db时,他不能使用它。除非您能提供完整的工作解决方案,否则这是无效的代码,也不会起作用。当我只是向他展示一个MySQLi的示例时,这是无关紧要的。如果他按照我的建议在整个脚本中实现MySQLi而不是MySQL,那么为什么要排除连接变量?警告:MySQLi_query()需要至少两个参数,其中一个参数在第8行的C:\wamp\www\checklogin.php中给出警告:MySQLi_num_rows()需要参数1为MySQLi_result,C:\wamp\www\checklogin.php第9行中给出的null我试过了..但它显示mysql的错误。\u num\u rows()非常复杂:\n正确地学习要比重新学习好,虽然如果这不是你的专长,那么当然没有必要锤头我说最好是学习字母表。。在开始写论文之前:D:P