Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli绑定变量_Php_Mysql_Mysqli - Fatal编程技术网

Php mysqli绑定变量

Php mysqli绑定变量,php,mysql,mysqli,Php,Mysql,Mysqli,我有这个部分代码: if ($getRecords = $con->prepare("SELECT * FROM AUCTIONS WHERE ARTICLE_NO = ?")) { $getHtml = $con->prepare("SELECT ARTICLE_DESC FROM AUCTIONS WHERE ARTICLE_NO = ?"); $getHtml->bind_param("i", $pk); $getHtml->execute(); $get

我有这个部分代码:

if ($getRecords = $con->prepare("SELECT * FROM AUCTIONS WHERE ARTICLE_NO = ?"))

{

$getHtml = $con->prepare("SELECT ARTICLE_DESC FROM AUCTIONS WHERE ARTICLE_NO = ?");

$getHtml->bind_param("i", $pk);

$getHtml->execute();

$getHtml->bind_result($ARTICLE_DESC);



$getRecords->bind_param("i", $pk); 

$getRecords->execute(); 

$getRecords->bind_result($ARTICLE_NO, $ARTICLE_NAME, $SUBTITLE, $CURRENT_BID, $START_PRICE, $BID_COUNT, $QUANT_TOTAL, $QUANT_SOLD, $ACCESSSTARTS, $ACCESSENDS, $ACCESSORIGIN_END, $USERNAME, $BEST_BIDDER_ID, $FINISHED, $WATCH, $BUYITNOW_PRICE, $PIC_URL, $PRIVATE_AUCTION, $AUCTION_TYPE, $ACCESSINSERT_DATE, $ACCESSUPDATE_DATE, $CAT_DESC, $CAT_PATH, $COUNTRYCODE, $LOCATION, $CONDITIONS, $REVISED, $PAYPAL_ACCEPT, $PRE_TERMINATED, $SHIPPING_TO, $FEE_INSERTION, $FEE_FINAL, $FEE_LISTING, $PIC_XXL, $PIC_DIASHOW, $PIC_COUNT, $ITEM_SITE_ID);
否则运行正常,但我得到一个错误:

绑定变量的数量与准备语句中的字段数量不匹配

在我发布的最后一行

我不确定是什么问题。我想使用一些单独的列,例如ARTICLE_DESC。这是否意味着我不能使用select*,必须在查询中输入每个列名


编辑:是否需要绑定?是否可以获得安全性或性能优势?我可以不用吗?

你真的应该设置列的名称,而不是使用*


这样,您将确切地知道要传递给bind_result方法的列。

实际上,您应该设置列的名称,而不是使用*


通过这种方式,您将确切地知道要传递给bind_result方法的列。

如果您是绑定结果,则不应在SQL查询中使用通配符来执行此操作。想想如果在绑定的表中添加或删除列会发生什么情况。

如果要绑定结果,则不应在SQL查询中使用通配符。想象一下,如果在绑定的表中添加或删除了一列,会发生什么情况