2016-03-25 95 views
1

我正在嘗試下面的代碼從php中檢索postgresql中的數據並將該值存儲在變量中。從php從postgresql檢索數據,並將該值存儲在變量中

我有一個表名爲:名爲3列的菜單:name,rating和numofratings。

之一的記錄是: 名=麪食 等級= 4個 numofratings = 3

我想檢索2 等級= 4個 numofratings = 3

和存儲這些數字變量:value和value2來使用這些值。

這是我試過的,但沒有打印值,所以我做錯了什麼,不知道它是什麼。

任何幫助,將不勝感激。

THANKS

<?php 

$db = pg_connect('host=localhost dbname=test user=myuser password=mypass'); 


    $query = "SELECT rating, numofratings FROM menu where name = 'Pasta'"; 
    $result = pg_query($query); 
    if (!$result) { 
     echo "Problem with query " . $query . "<br/>"; 
     echo pg_last_error(); 
     exit(); 
    } 

$myrow = pg_fetch_assoc($result); 
    $value == $myrow[rating]; 
    $value2 == $myrow[numofratings]; 

    echo "$value, $value2"; 

?> 

回答

0

==是平等檢查運算符。要賦值給一個變量,你應該使用=操作:

$value = $myrow[rating]; 
$value2 = $myrow[numofratings]; 
+1

完美。有效。非常感謝 –

0

應該

$myrow = pg_fetch_assoc($result); 
$value = $myrow[rating]; 
$value2 = $myrow[numofratings]; 

您使用==,這是不分配,而是比較。所以你的代碼基本上是做

$myrow = pg_fetch_assoc($result); 
false; 
false; 
print ", "; 

...因爲這兩個變量永遠不會被分配,甚至根本不存在。

0

嘗試使用PDO prepared statements

​​

你會希望把報價角落找尋['rating']['numofratings']因爲PHP會,如果你發脾氣別。

試着打印出錯誤,看看代碼有什麼問題。

//At the top of the php page 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
相關問題