سؤال

لدي هذه الرموز الجزئية:

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 الأسلوب.

نصائح أخرى

إذا كنت ملزم النتائج لا يجب أن تفعل هذا مع البدل في استعلام SQL.التفكير في ما يمكن أن يحدث إذا كان العمود إضافتها أو إزالتها من الجدول أنت ملزم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top