php mysql or不起作用,PHP MySQL查询不起作用,但可从终端起作用

Here's my code:$gid = (int) stripslashes($_POST['id']);

echo $gid;

$db = dbConnect();

$test = $db->query('update games set played = played + 1 where id = "$gid"');

echo $db->error;

echo $db->errno;

die();

}

It works fine from the terminal, and it correctly prints out $gid, and no errors are returned. Am I missing something really obvious?

解决方案

You are enclosing the query in single quotes. And in single quotes variable interpolation(also called substitution) does not happen.

Simple example:

$who = 'harry potter';

echo 'hi "$who"'; // prints hi "$who"

echo "hi '$who'"; // prints hi 'harry potter'

Change your code as:

$test = $db->query("update games set played = played + 1 where id = '$gid'");

Also from the line: $gid = (int) stripslashes($_POST['id']); its clear that $gid is an integer and there is not need to enclose it in quotes in your query. So we have:

$test = $db->query("update games set played = played + 1 where id = $gid");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值