• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با query در php
#1
با سلام
دوستان بنده یک مشکلی در query دارم

یک textbox دارم که یک مقدار text رو میگیره

بعد یک کوئری نوشتم که رکوردی که یک فیلد خاصش برابر این فیلد text باشه رو برمیگردونه

مشکل اینجاست که اگر مقدار این فیلد text عددی باشه رکورد برمیگیده
اما اگر محتوی حروف یا حروف و عدد باشه نمیتونه رکورد رو پیدا کنه

کد php:


کد پی‌اچ‌پی:
$dbresult=mysql_query("SELECT * FROM ".$db_table." WHERE BatchNo= ".$cod,$con);
       
$amch=mysql_fetch_assoc($dbresult); 

$cod همون فیلد textbox هست که از ورودی میگیره
batchno هم همون فیلد مورد نظر در دیتابیس هست که از نوع varchar هست

ممنون میشم دوستان راهنمایی کنند
  پاسخ
تشکر شده توسط :
#2
کد پی‌اچ‌پی:
$dbresult=mysql_query("SELECT * FROM ".$db_table." WHERE BatchNo= '".$cod,$con."'"); 
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : سعید حمزه زاده
#3
با کدی که لطف کردید دیگه هیچی برنمیگردونه!
کد رو به این شکل درآوردم:

کد پی‌اچ‌پی:
$dbresult=mysql_query("SELECT * FROM ".$db_table." WHERE BatchNo = '".$cod."'"); 

الان اگر batchno عدد باشه و یا با عدد شروع شده باشه پیدا میکنه! اما اگر با حرف شروع شده باشه پیدا نمیکنه!
  پاسخ
تشکر شده توسط :
#4
من به اشتباه متغیر con رو هم در کوئری دخالت دادم.
یعنی الان اگر مقدار pack رو سرچ کنید چون با حروف شروع شده پیدا نمیشه؟!

کد:
SELECT * FROM table WHERE BatchNo ='pack'

این صفحه رو هم مطالعه کنید
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
نه پیدا نمیکنه!!!

اگر با عدد شروع شده باشه پیدا میکنه اما با حرف شروع شده باشه پیدا نمیکنه!!!

کد پی‌اچ‌پی:
<html>
<
head>
<
link href="style.css" rel="stylesheet" type="text/css"/>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</
head>
<
body>
<
form method="POST" class="toolimorgh" action="" >
    <
p>شماره قرارداد: <input type="text" name="cod" size="10"></p>
    <
p><input type="submit" value="استعلام اطلاعات" name="Submit"><input type="reset" value="از نو" name="B2"></p>
</
form>

<?
php
if(@$_POST['Submit']){
   
$cod $_POST['cod'];
   if (
$cod==""){
      echo 
"لطفا کد را وارد نمایید";
   }
   else
   {
       include_once(
"config.php");
       
$con mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
       
mysql_query("SET CHARACTER SET 'utf8'"$con);
       
mysql_query("SET character_set_connection = 'utf8'"$con);
       
$selected=mysql_select_db($db_name$con) or die("خطا در انتخاب پايگاه داده");
       
$dbresult=mysql_query("SELECT * FROM ".$db_table." WHERE BatchNo = '$cod'");
       
$amch=mysql_fetch_ASSOC($dbresult);
       
$batch$amch["BatchNo"];
       if (
$amch["BatchNo"] > ){

          echo 
"شماره قرارداد: ".$amch["BatchNo"]." <br>شماره قرارداد بی.آی.ام: ".$amch["BIM_Contract_Recno"]." <br>تاریخ: ".$amch["Date"]." <br>تاریخ قرارداد: ".$amch["ContractDate"]." <br>توضیحات تفصیلی: ".$amch["AccTafsiliDscp"]." <br>نام پی.اس.اف: ".$amch["PSF_Name"]." <br>نام مرغداری: ".$amch["FarmName"]." <br>آدرس: ".$amch["Address"]." <br>شهر: ".$amch["Csc_CityName"]." <br>صاحب مرغداری: ".$amch["OwnerName"];
               
       }
       else{
          echo 
"قراردادی با این شماره در سیستم ثبت نشده است";
       }
mysql_close($con);
   }
}

?>
</body>
</html> 
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان