arm_zwinger 发表于 2018-07-13 08:09

新手:用浏览器访问PHP+mysql失败

本帖最后由 arm_zwinger 于 2018-07-13 08:14 编辑

新手,刚接触php+mysql。
平台:Apache:2.4/PHP:7.1/Mysql:8.0/OracleLinux:7

主要问题是在浏览器访问的时候,连不上mysql,还请各位指点,谢谢!

在网上找了一个小程序php+mysql的,问题是:
1. 在命令行下执行php + test.php的时候,没问题,可以返回结果
   id: 1 - Name: aa bb   id: 2 - Name: xx yy
2. 但是在浏览器里访问,浏览器显示“Connection failed 1: Permission denied,表示连接数据库失败。

代码片段如下:
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname,$port,$socket);
// Check connection
if ($conn->connect_error) {
    die("Connection failed 1: " . $conn->connect_error);      <-----这里没有连接上
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
      echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();


上网搜搜,发现mysqli还区分面向过程和面向对象的调用方法,上面的是面向对象的,于是我又改成面向过程的,然后:
1. 在命令行中执行,还是OK的,结果如下:
   array(3) {
   ["id"]=>
   string(1) "1"
   ["firstname"]=>
   string(2) "aa"
   ["lastname"]=>
   string(2) "bb"
   }
   id: 2 - Name: xx yy

2. 在浏览器里执行,还是连接不上,显示"Connection failed 1: "
代码片段如下:
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed 1: " . $conn->connect_error);      <----还是连不上
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

$row = mysqli_fetch_assoc($result);
var_dump($row);

while($row = mysqli_fetch_array($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}

mysqli_close($conn);


arm_zwinger 发表于 2018-07-13 08:15

要在浏览器里访问,还需要什么额外的设置吗?

shang2010 发表于 2018-09-13 15:36

不需要啊,debian系列,只要安装php apache包加一个php mysql包就ok了

shang2010 发表于 2018-09-13 15:36

你最好先phpinfo()看看

action08 发表于 2018-11-03 13:04

2. 但是在浏览器里访问,浏览器显示“Connection failed 1: Permission denied,表示连接数据库失败。



这个是不是安全问题,你用root用户登陆mysql的
页: [1]
查看完整版本: 新手:用浏览器访问PHP+mysql失败