Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录mysql\u num\u行错误_Php_Mysql_Database - Fatal编程技术网

Php 登录mysql\u num\u行错误

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

这是我的支票登录文件。。。它显示了一个错误: 调用未定义的函数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("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