使用php从postgresql检索数据并将值存储在变量中

时间:2016-03-25 18:28:44

标签: php postgresql

我正在尝试使用php从postgresql中检索数据并将值存储在变量中。

我有一个名为:Menu的表,其中有3列名为:name,rating和numofratings。

其中一条记录是:     name = Pasta     评级= 4     numofratings = 3

我想要检索 评级= 4 numofratings = 3

并将这些数字存储在2个变量中:value和value2以使用这些值。

这是我尝试过的,但它不是打印值,所以我做错了,不知道它是什么。

任何帮助都将不胜感激。

谢谢

var acceptedTermsPoints = [0,3,3,0,0];

function isGreaterThanZero(value) {
  return value > 0;
}
var NewacceptedTermsPoints = acceptedTermsPoints.filter(isGreaterThanZero);

3 个答案:

答案 0 :(得分:0)

应该是

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

你正在使用==,这不是作业,而是比较。所以你的代码基本上是在做

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

...因为这两个变量实际上从未被分配过,甚至根本不存在。

答案 1 :(得分:0)

==是等式检查运算符。要为变量赋值,您应该使用=运算符:

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

答案 2 :(得分:0)

尝试使用PDO prepared statements

$sql = "SELECT rating, numofratings FROM menu where name = :name";
$pdo = new PDO('pgsql:dbname=mydb;host=localhost;user=myuser;password=mypass');
if ($con = $pdo->prepare($sql)) {
    $con->execute([
        ':name'=>'Pasta'
    ]);
    $r = $con->fetch(PDO::FETCH_ASSOC);
    if(!empty($r)){
        $val1 = $r['rating'];
        $val2 = $r['numofratings'];
    }
}

你需要在['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);