小编Swi*_*art的帖子

mysqli更新查询应该返回结果吗?

我正在将我的PHP代码从mysql更新为mysqli,但我似乎无法找到这个问题的答案:mysqli更新查询是否会返回结果?

使用mysql,我可以做到

$result = mysql_query("UPDATE `data` SET `field1` = 1 WHERE `key` = '$mykey');
Run Code Online (Sandbox Code Playgroud)

即使查询没有返回任何行,$ result也是如此.

但是,现在,在mysqli代码中,我有类似的东西(为清晰起见,删除了错误处理):

$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = (?)")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$result = $stmt->get_result();
Run Code Online (Sandbox Code Playgroud)

而$ result是假的.

对于记录,查询是有效的(忽略我可能已经将其转录到stackoverflow中的任何拼写错误)并且数据库中的field1按预期正确更新.此外,get_result()适用于选择查询,因此get_result()不可用.

基本上,我只是想知道这种改变的行为是否是预期的,或者我是否应该继续尝试在某处找到一些bug.

php mysql mysqli

14
推荐指数
2
解决办法
8759
查看次数

使用 WAMP 在 Windows 上安装 PHP xdiff

我不敢相信以前没有人问过这个问题,但这里是:

我正在尝试使用 WAMP 和 PHP 版本 5.3 在 Windows(64 位)上安装 xdiff。

pecl.php.net 不提供此组合的 .dll 文件,因此我尝试下载 5.3 x86 文件和 5.5 x64 版本,但都不起作用。x86 版本在 apache 日志中生成以下警告:

[Thu Jun 05 15:55:47 2014] [警告] Init:会话缓存未配置 [提示:SSLSessionCache] PHP 警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13 /ext/php_xdiff.dll' - %1 不是有效的 Win32 应用程序。\r\n 位于第 0 行的未知
警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13/ ext/php_xdiff.dll' - %1 不是有效的 Win32 应用程序。

在第0未知

x64 版本生成此警告:

[Thu Jun 05 15:58:16 2014] [警告] Init:会话缓存未配置 [提示:SSLSessionCache] PHP 警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13 /ext/php_xdiff.dll' - 无法找到指定的模块。\r\n 位于第 0 行未知
警告 …

php pecl wampserver

5
推荐指数
1
解决办法
1558
查看次数

标签 统计

php ×2

mysql ×1

mysqli ×1

pecl ×1

wampserver ×1