SQL上的致命错误。无法连接到数据库

问题描述 投票:1回答:1

我有一个我似乎无法解决的错误。我是php编程的新手(我的第一个php网站),因此,如果这是一个愚蠢的错误,我深表歉意。

我遇到两个错误。第一个(是瑞典语,所以我不确定是否可以发布它)说了一些类似SQL错误的内容:连接花了太长时间,因为连接不再起作用。

第二个错误是第47行的致命错误。

 $conn= mysqli_connect($host, $user, $passwd, $database);
    if(!$conn){
        echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
    }
    $query="SELECT * FROM art WHERE type LIKE '$type'";

    $result=mysqli_query($conn, $query);
    $artArray= array();

这是第47行(连接)。

该代码的其余部分看起来像这样:

$query="SELECT * FROM art WHERE type LIKE '$type'";

    $result=mysqli_query($conn, $query);
    $artArray= array();


    //get data from database
     while ($row= mysqli_fetch_array($result))
    {
     $id=$row[0];
       $name=$row[1];
       $type=$row[2];
       $price=$row[3];
       $description=$row[4];
       $image=$row[5];


       //create art object and return them in array
       $art= new ArtEntity($id,$name,$type,$price,$description,$image);
       array_push($artArray, $art);



    }
    mysqli_free_result($result);
    //Close connection and return result
    mysqli_close($conn);
    return $artArray;
}

我的凭据如下所示:

<?php

$host="mydb25.surf-town.net";
$user="";
$passwd="";
$database="";
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

/* This will also work, using both exceptions and return values */
/* mysqli_report(MYSQLI_REPORT_ALL); */

/* Do everything inside a try/catch block */
try
{
   /* Connection */
   $conn = mysqli_connect($host, $user, $passwd, $database);

   /* A wrong query */
   $query = 'SELECT * FROM myschema.wrong_table';
   mysqli_query($conn, $query);
}
catch (mysqli_sql_exception $e)
{
   /* Error: exception thrown */
   echo 'SQL error: ' . $e->getMessage();
}
?>

数据库,用户和密码被模糊掉了,在我的代码中说我的用户名,数据库和密码,它不是空白(:。但这让我发疯了。代码看起来还不错吗?我使用phpmyadmin ,然后将名称放在那里的数据库中,我应该改为导出SQL文件吗?我真的很感谢您的帮助!在此先感谢!

php mysql
1个回答
-2
投票

可能有很多事情出错

  1. mysql可能希望具有userpassworddatabase而不是空白
  2. 如果PHP在与MySQL相同的机器上运行,则主机应为“ localhost”>
  3. 如果PHP不在同一台机器上运行,则MySQL需要进行特殊设置以允许来自另一台机器的连接。 see here for details
© www.soinside.com 2019 - 2024. All rights reserved.