我正在编写一个脚本,以将数据从mysql数据库插入/更新到postgres数据库。
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
$postgres = "SELECT * FROM res_partner";
echo $postgres . "\n";
$pgresult = pg_query($db,$postgres);
$a = 0;
if(pg_num_rows($pgresult) > 0)
{
while($pgrow = pg_fetch_assoc($pgresult))
{
if($pgrow["id"] == $row["customer_id"])
{
$a + 1;
}
else
{
$a + 0;
}
}
var_dump($pgrow);
exit();
我想检查mysql数据库中的id是否也在postgres数据库中。
但是$ pgrow用我的var_dump返回“ bool(false)”。
我不知道为什么。
最佳答案
因为var_dump()
在while循环之外。
循环将继续调用pg_fetch_assoc
,直到返回false
将调用放在循环内以查看当前行的内容:
while($pgrow = pg_fetch_assoc($pgresult))
{
if($pgrow["id"] == $row["customer_id"])
{
$a + 1;
}
else
{
$a + 0;
}
var_dump($pgrow);
}
或使用诸如XDebug之类的适当调试器来避免编写此类代码
关于php - pg_fetch_assoc返回 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33893774/