簡體   English   中英

PHP mysqli_query將不會執行

[英]PHP mysqli_query won't execute

我正在嘗試編寫我的第一個基本PHP RESTful API - 我設法使用MAMP在本地計算機上運行它。 但是當我上傳到托管服務器時,它不想工作。

下面的代碼 - 我在那里添加了一些ECHO,以確保一切順利。 $result=mysqli_query之前,似乎我們都很好。

<?php

//header('Content-type:application/json');

    // Connect to db
    $con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");

    echo "Database: ";
    // Check connection
    if ($con->connect_error) {
        die("Connection failed: " . $con->connect_error);
    } 
    echo "Connected successfully";
    echo "<br><br>";

    // Get value from url
    $bid = $_GET['bid'];
    echo "BID: ";
    echo $bid;
    echo "<br><br>";

    // Define Query
    $sql = "SELECT id, bandname, members, bio, songlist FROM bands WHERE id='$bid'";
    echo "SQL Query: ";
    echo $sql;
    echo "<br><br>";

    // Run Query
    $result = mysqli_query($con, $sql);
    echo "Result: ";
    print_r($result);
    echo "<br><br>";

    // Put Query result into array
    $result_array = mysqli_fetch_array($result, MYSQLI_ASSOC);
    echo "Result Array: ";
    print_r($result_array);
    echo "<br><br>";

    // Encode array as JSON and output
    echo "JSON: ";
    echo json_encode($result_array);

?>

我輸入的網址是http://bandsly.com/api.php?bid=1 ,這是我在瀏覽器中輸出的輸出...

Database: Connected successfully

BID: 1

SQL Query: SELECT id, bandname, members, bio, songlist FROM bands WHERE id='1'

Result: 

Result Array: 

JSON: null

當我手動運行查詢SELECT id, bandname, members, bio, songlist FROM bands WHERE id='1'在數據庫(PHPmyadmin)中,它工作正常,我得到1行返回正確的值。

手動db查詢結果: 在此輸入圖像描述

http://i.stack.imgur.com/d3ZPJ.png

非常感激任何的幫助!!

*****編輯*****

好吧,我想我發現了這個問題......我的“成功連接”沒有正確寫入,並且總是回來看起來很好。 它看起來像修復后,我有數據庫連接問題。

我要去查找數據庫連接設置並嘗試修復它。

感謝你的幫助!

你的代碼在我的本地系統上似乎沒問題http://www.awesomescreenshot.com/image/494275/c6c255cd6924d07196076b32489489de 應該存在連接問題。 所以你可以嘗試檢查連接

查看詳細信息

 // Connect to db
    $con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");

然后你可以嘗試ping數據庫

/* check connection */
if ($con->connect_errno) {
    printf("Connect failed: %s\n", $con->connect_error);
    exit();
}

/* check if server is alive */
if ($con->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $con->error);
}

你的所有代碼都是正確的,我在我的本地測試過只需更改你的HOSTNAME就像“localhost”,USER就像“root”一樣,PASSWORD就像“你的密碼”,DATABASE就像“你的數據庫名”。

$con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");

請訪問http://php.net/manual/en/function.mysqli-connect.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM