PDA

View Full Version : سوال: خطا در query



milad_d993
یک شنبه 07 تیر 1394, 08:52 صبح
سلام دوستان
من هرچی به کد هام نگاه کردم هیچ خطایی پیدا نکردم ولی این هشدار ها چاپ میشه برام :افسرده:



Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\library\admin\borrow\borrowOp.php on line 22

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\library\admin\borrow\borrowOp.php on line 22

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\library\admin\borrow\borrowOp.php on line 22




borrowAdd.php

<form action="borrowOp.php" method="post" onsubmit="return sendform()">
<table border="1" class="borrowMember" align="center">
<tr>
<td rowspan="2" align="center"><img src="../../<?php echo $row["picture"]; ?>" /></td>
<td>نام و نام خانوادگی:</td>
<td><?php echo $row["name"].' '.$row["family"]; ?></td>
<input name="memberCode" type="hidden" value="<?php echo $memberCode; ?>" />
</tr>
</table>
<table border="1" class="borrowBook1" align="center">
<tr>
<td><input type="number" name = "bookCode[]" id = "bookCode1" tabIndex="1" /></td>
<td><input type="number" name = "bookCode[]" id = "bookCode2" tabIndex="2" /></td>
<td><input type="number" name = "bookCode[]" id = "bookCode3" tabIndex="3" /></td>
<td><input type="number" name = "bookCode[]" id = "bookCode4" tabIndex="4" /></td>
<td><input type="number" name = "bookCode[]" id = "bookCode5" tabIndex="5" /></td>
</tr>
<tr>
<td align="center" colspan="3">
<input type="submit" name="borrowAdd" value="درج امانت"/>
<input type="button" value="انصراف" onclick="location.href='borrowList.php'" />
</td>
</tr>
</table>
</form>




borrowOp.php

if(!isset($_POST["borrowAdd"]))
header("location:borrowList.php");

require_once("../../DBconfig.php");
require_once("../../jdf.php");

if(isset($_POST["borrowAdd"])){

$memberCode = $_POST["memberCode"];
$bookCode = $_POST["bookCode"];
$date = date("Y/m/d");
list($year, $month, $day) = explode('/', $date);
$startDate = jalali_to_gregorian($year,$month,$day,'-');

foreach($bookCode as $temp){

$ISBN_data = mysql_query("select ISBN from book_c where code = $temp",$con);
$ISBN_row = mysql_fetch_array($ISBN_data);

$data = mysql_query("select count(*) from borrow where memberCode = ".$memberCode." and bookISBN = '".$ISBN_row["ISBN"]."' and state != 0",$con);
$row = mysql_fetch_array($data);

if($row[0] == 0){
mysql_query("insert into borrow (memberCode,bookISBN,bookCode,startDate,state) values ($memberCode,'".$ISBN_row["ISBN"]."',$temp,'$startDate',2)",$con);
}
}
}

vahidqara
یک شنبه 07 تیر 1394, 09:43 صبح
شما دقت کنید به خطاها متوجه میشین دوست خوب :لبخندساده:

milad_d993
یک شنبه 07 تیر 1394, 09:52 صبح
شما دقت کنید به خطاها متوجه میشین دوست خوب :لبخندساده:

من دقت کردم ولی خیلی تیز نیستم که زود بفهمم:گیج:

2undercover
یک شنبه 07 تیر 1394, 11:02 صبح
با استفاده از تابع mysql_error بررسی کنید ببینید چه خطایی بعد از کوئری اون خط (با توجه به خطا خط 21 باید باشه اون کوئری احتمالا) وجود داره.

arta.nasiri
یک شنبه 07 تیر 1394, 15:40 عصر
سلام

خروجی mysql_query رو با var_dump چک کنید ببینید خروجی چی میده؟ به احتمال خیلی زیاد false برمیگردونه در صورتی هیچ رکوردی تو اون جدول نداشته باشید (یا شرطی که گذاشتید باعث بشه هیچ رکوردی انتخاب نشه). بهتره قبل از تابع mysql_fetch_array یه شرط بذارید تا در صورتی که مقدار برگشتی mysql_query برابر false بود بقیه مراحل اجرا نشه.