我正在尝试使用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);
答案 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)
$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);