相关疑难解决方法(0)

为什么我不应该在PHP中使用mysql_*函数?

为什么一个人不应该使用mysql_*功能的技术原因是什么?(例如mysql_query(),mysql_connect()mysql_real_escape_string())?

即使他们在我的网站上工作,为什么还要使用其他东西?

如果他们不在我的网站上工作,为什么我会收到错误

警告:mysql_connect():没有这样的文件或目录

php mysql database

2432
推荐指数
12
解决办法
21万
查看次数

调用未定义的函数MYSQL_NUM_ROWS()

我试图用PHP验证登录但是收到此错误:

致命错误:未捕获错误:在/opt/lampp/htdocs/social/index.php:100中调用未定义函数MYSQL_NUM_ROWS()堆栈跟踪:#opt {lampp /hococs /social/index.php中引发#0 {main}在线100

这是我的代码

if(isset($_POST['login'])){

        $studentid = $_POST['studid'];  
        $pass = $_POST['password'];

        $query2 = mysqli_query($con, "SELECT * FROM members WHERE student_id = '$studentid' AND password = '$pass' ") or die (mysqli_connect_error());

        while($studid = mysqli_fetch_object($query2))
            {
            echo "$studid->member_id";
            }
            $numberOfRows = MYSQL_NUM_ROWS($query2);
            if ($numberOfRows == 0)
                {

                }
            else if ($numberOfRows > 0){
                    $wewness = mysql_query("SELECT * FROM members WHERE student_id = $studentid")or die(mysql_error());
                    $getid = mysql_fetch_array($wewness);
                    if($getid['account_status']==0){
                        $_SESSION['login'] = 'maybe';
                        $_SESSION['member_id'] = $getid['member_id'];
                        $_SESSION['studentid'] = $getid['student_id'];
                        header('location:registerexec.php');
                    }elseif($getid['account_status']==2){ …
Run Code Online (Sandbox Code Playgroud)

php

6
推荐指数
1
解决办法
3万
查看次数

在插入[mysql_errno()]之前检查预先存在的记录的最快方法

我的问题将使用电子邮件作为示例,但这可能适用于任何事情.


通常在注册新用户之前(包括插入他/她的电子邮件),我检查他/她的电子邮件是否已存在于DB中,如下所示:

$result = mysql_query("SELECT * FROM Users WHERE email = '".mysql_real_escape_string($email)"';");
if(!$result)
{
    die(mysql_error());
}

if(mysql_num_rows($result) > 0)
{
    die('<p>Email already in DB. <a....>Recover Email</a></p>');
}
else
{
    //insert new user data into Users table
}
Run Code Online (Sandbox Code Playgroud)

既然我已经限制了email我的Users表中的字段UNIQUE,那么首先尝试插入是否会更快,如果失败,请检查错误?像这样的东西:

$result = mysql_query(...);//insert new user data into Users table
if(!$result)
{
    if(mysql_errno()==$insert_unique_error)
    {
        $error = '<p>Email already in DB. <a....>Recover Email</a></p>';
    }
    else
    {
        $error = mysql_error();
    }
    die($die_str);
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道应该是什么$insert_unique_error.这些是我能找到的唯一错误代码:

SQLSTATE值的前两个字符表示错误类: …

php mysql error-handling insert unique-constraint

0
推荐指数
1
解决办法
4495
查看次数