- 論壇徽章:
- 0
|
本帖最后由 arm_zwinger 于 2018-07-13 08:14 編輯
新手,剛接觸php+mysql。
平臺:Apache:2.4/PHP:7.1/Mysql:8.0/OracleLinux:7
主要問題是在瀏覽器訪問的時候,連不上mysql,還請各位指點,謝謝!
在網上找了一個小程序php+mysql的,問題是:
1. 在命令行下執(zhí)行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();
上網搜搜,發(fā)現mysqli還區(qū)分面向過程和面向對象的調用方法,上面的是面向對象的,于是我又改成面向過程的,然后:
1. 在命令行中執(zhí)行,還是OK的,結果如下:
array(3) {
["id"]=>
string(1) "1"
["firstname"]=>
string(2) "aa"
["lastname"]=>
string(2) "bb"
}
id: 2 - Name: xx yy
2. 在瀏覽器里執(zhí)行,還是連接不上,顯示"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);
|
|