2012-09-21 22 views
0

我已經連接到數據庫,第一次用接力和挺直走想出了一個問題數據庫,下面是我的代碼,我與掙扎:查詢與接力

$q = 'SELECT * FROM test'; 
     $sqli->query($q); 

     if($sqli->query($q)){ 
      echo "worked";    
     } 

     if($sqli->error){ 
      echo $sqli->error; 
     } 

我已籤對於連接到數據庫時出現錯誤,並且工作正常,但是當我運行這個查詢時,我沒有輸出,爲什麼?我預料到一個錯誤或「工作」,但都沒有。

最新情況?

+0

什麼是'$ sqli->查詢()'的返回值? – andrewsi

回答

0

我已經把一些註釋的源代碼,以幫助:

$q = 'SELECT * FROM test'; 
    //$sqli is the result of a 
    //new mysqli("localhost", "user", "password", "database"); 
    $resource = $sqli->query($q); // this returns a resource or false 

    if(!$resource) { 
     echo $sqli->error; 
     die; // do not process further 
    } 

    // process the results 
    $rows = $resource->fetch_all(); 
    if ($rows) { // check if there are rows 
    echo "worked";    
    } 
    else { 
    echo "query is ok, but there are no rows"; 
    } 
+0

我很抱歉,我終於意識到我做了什麼,在瀏覽器中測試頁面時,我正在測試我已經建立的連接頁面,沒有任何問題。猜猜我不應該在半睡半醒時學習編碼。抱歉不提示它,即時通訊試圖養成這種習慣。 – tony09uk

0

你也可以使用$資源 - > fetch_object()返回輸出的對象。因此,如果你想從結果集打印具體的數據,你會做這樣的事情

//table test.Name and test.Country 
while ($rowobj = $resource->fetch_object()){ 
      printf ("%s (%s)\n", $rowobj->Name, $rowobj->Country); 
     } 

祝你好運,

0

你可以使用這個方法,我希望這是你在找什麼。您將需要首先定義數據庫。然後你可以連接到OOP並測試連接是否正確或退出();

讓我知道這是否適合你。你也可以在一個外部文件中定義數據庫,然後執行include();對於任何需要連接到數據庫的頁面,朝向腳本的頂部。

define("SERVER","IP Address"); 
define("USER","DB USERNAME"); 
define("PASSWORD","DB PASSWORD"); 
define("DATABASE","DB NAME"); 

// This is for connection $mysqli = new mysqli(SERVER, USER, PASSWORD, DATABASE); if ($mysqli->connect_errno) { echo "Connection to MySQL failed: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; exit(); }