Php 与MySQL建立连接的问题

Php 与MySQL建立连接的问题,php,mysql,Php,Mysql,因此,我在register.php页面上不断收到以下错误消息。我的托管服务提供商说,这是我的php版本,从7.1一直到5.6,我都试过了,但还是一样。下面是不断出现的错误 在第74行的/home/scylla97/public_html/register.php中,类PDOStatement的对象无法转换为int 请参阅register.php页面上的以下代码 if($securimage->check($\u POST['captcha\u code'])==false){ 回显“错误验证码

因此,我在register.php页面上不断收到以下错误消息。我的托管服务提供商说,这是我的php版本,从7.1一直到5.6,我都试过了,但还是一样。下面是不断出现的错误

在第74行的/home/scylla97/public_html/register.php中,类PDOStatement的对象无法转换为int

请参阅register.php页面上的以下代码


if($securimage->check($\u POST['captcha\u code'])==false){
回显“错误验证码:\”;
}
否则{
$username=$_POST['username'];
$password=$_POST['password'];
$rpassword=$_POST['rpassword'];
$email=$_POST['email'];
$errors=array();
$checkUsername=$odb->prepare(“从`users`中选择COUNT(*),其中`username`=:username”);
$checkUsername->execute(数组(':username'=>$username));
$countUsername=$checkUsername->fetchColumn(0);
如果($checkUsername>0)
{
$errors['Username已被占用'];
}
如果(!ctype_alnum($username)| strlen($username)<4 | strlen($username)>15)
{
$errors[]=“用户名必须为字母数字,长度为4-15个字符”;
}
如果(!filter_var($email,filter_VALIDATE_email))
{
$errors[]=“电子邮件无效”;
}
if(空($username)| |空($password)| |空($rpassword)| |空($email))
{
$errors[]=“请填写所有字段”;
}
如果($password!=$rpassword)
{
$errors[]=“密码不匹配”;
}
if(空($errors))
{
试试{
$insertUser=$odb->prepare(“插入到`users`值中(NULL,:username,:password,:email,0,0)”;
$insertUser->execute(数组(':username'=>$username',:password'=>SHA1($password),':email'=>$email));
} 
捕获(异常$exception){
返回$exception->getMessage();
} 
echo'成功:用户已注册。正在重定向…

; } 其他的 { 回显“错误:
”; foreach($errors作为$error) { 回显'-'.$error.'
'; } 回声'; } } } ?>

非常感谢您的帮助:)


$checkUsername
只是一条语句。它不能单独用于检查
计数

将您的if条件更改为

if ($countUsername > 0)
        {
            $errors['<font color="white">Username is already taken</font>'];
        }
if($countUsername>0)
{
$errors['Username已被占用'];
}

您正在将
PDO语句
$checkUsername
与整数进行比较(在本例中,如果大于0,则进行检查),而实际上,行数存储在
$countUsername
中,因此您需要将代码更改为:

    if ($countUsername> 0)
    {
        $errors['<font color="white">Username is already taken</font>'];
    }
if($countUsername>0)
{
$errors['Username已被占用'];
}

Obs:不允许评论

第74行在哪里?
phpMyAdmin
是用PHP编写的用于维护MySQL数据库的工具。这不是一个数据库,你不能连接到它。这是2017年。不要这样做。SHA1($password)
$checkUsername
是一个PDO语句<代码>$countUsername包含您的计数!!!!!!谢谢大家的帮助。抱歉,我还在学习php.journey@user3657631
if ($countUsername > 0)
        {
            $errors['<font color="white">Username is already taken</font>'];
        }
    if ($countUsername> 0)
    {
        $errors['<font color="white">Username is already taken</font>'];
    }