gpt4 book ai didi

php - mysqli_stmt_bind_result 的奇怪问题

转载 作者:可可西里 更新时间:2023-11-01 07:37:17 26 4
gpt4 key购买 nike

好吧,这让我很烦,我似乎无法在 PHP 文档中找到任何内容,也无法在 Google resultosphere 的任何地方找到任何内容,所以也许有人可以在这里提供帮助。

我正在使用准备好的语句、绑定(bind)结果,然后使用这些绑定(bind)结果来填充下拉列表。示例:

<option value="">Select artist</option>
<?php
$artistQuery = "SELECT ArtistID,ArtistName FROM Artist_v";
if($artist = mysqli_prepare($link,$artistQuery)){
mysqli_stmt_execute($artist);
$artistResult = mysqli_stmt_bind_result($artist,$artistID,$artistName);

while(mysqli_stmt_fetch($artist)){
?>
<option value="<?php echo $artistID; ?>"><?php echo $artistName; ?></option>
<?php
}
mysqli_stmt_close($artist);
}
?>
<option value="Other">Add new...</option>

您可能会注意到有些东西有点奇怪。即:

$artistResult = mysqli_stmt_bind_result($artist,$artistID,$artistName);

PHP documentation for mysqli_stmt_bind_result没有任何理由将此结果捕获到变量中,这样的事情应该没问题:

mysqli_stmt_bind_result($artist,$artistID,$artistName);

不仅如此,我用来捕获结果的变量从未被使用过。我捕获的唯一原因是因为不执行此捕获处理总是失败。就像......页面的其余部分甚至拒绝制作。我检查了 mysqli_error(), error_reporting(E_ALL); ini_set('display_errors', '1');,所有你能想到的错误消息......没有。

更糟糕的是,我的开发箱没有这个问题,我以前的托管服务提供商也没有......我在更换新提供商时第一次遇到这个问题。这告诉我 (a) 我原来的 PHP 很好,并且 (b) 它可能是设置/选项问题。我只是不知道在哪里。

有人遇到过吗?

顺便说一句,不要问我是如何找到变量捕获的东西并让它工作的……这是一个多小时的反复试验过程,我无法告诉你我的想法是为了尝试。

最佳答案

好吧,这真的不是一个血腥的答案,但我的问题已经解决了。

事实证明,5.4 版的实现很糟糕,因为我切换到让我的网站运行 5.3 版,突然间它就可以工作了。

最后,我感谢你们提供的所有帮助,但我必须强制自己至少暂时使用旧版本的 PHP。那是我再也回不来的四天了。

编辑

我找到了一个真正的解决方案:更换托管服务提供商。从那以后就再也没有遇到过这个问题。

关于php - mysqli_stmt_bind_result 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com