PDA

View Full Version : مشکل با mysql و php در خطاها



megnatis
سه شنبه 05 خرداد 1394, 11:07 صبح
سلام من یه مشکل دارم ، دوتا table دارم و میخوام زمانی که یک سری داده در table اول هست اونو بدم به table دیگه و ذخیره کنه اما الان با کدی که نوشتم این اطلاعات میرن به سمت table دیگه ولی اگه داده ها هم وجود نداشته باشند این اطلاعات بصورت خالی میره! تو شرط مشکل دارم چطور میتونم شرط کنم اگر خالی بود ارور برگردون؟

function factorUserUpdate($serial,$customer,$phone,$tozih,$ userset,$adresscustomer,$factorid){
if (isset ($_POST['serial'])){
include('../Function/Config.php');
$query = 'SET NAMES utf8';
$dbquery = $dbcon->query($query);
$query = "SELECT `serial`,`model` FROM `modelserial` WHERE `serial` = '$serial'";
$serialmodel = $dbcon->query($query);
/////////moshkel dare $query = 'SET NAMES utf8';
$dbquery = $dbcon->query($query);
while($row=mysqli_fetch_array($serialmodel)){
$smodel = $row['serial'];
$models =$row['model'];
}
$query = "INSERT INTO `installfactor`(`fmodel`, `fserial`, `fcname`, `ftel`, `fdes`, `fuser`, `ffacid`, `fadrescustom`) VALUES ('$models','$smodel','$customer','$phone','$tozih' ,'$userset','$factorid','$adresscustomer')";
$result = $dbcon->query($query);
mysqli_close($dbcon);

}
}

H:Shojaei
سه شنبه 05 خرداد 1394, 11:19 صبح
من که نفهمیدم شما چکار میخواید بکنید ولی اگر میخواید وقتی جدول خالی بود کاری نکنه یه شرط بذارید:

if(mysqli_num_rows($serialmodel)>0)
}
//عملیات درج انجام شود
{

m.esmaeilzadeh
سه شنبه 05 خرداد 1394, 12:01 عصر
با یک بلاک if مقدار فیلدهای model و serial رو بررسی کن که خالی نباشه !!!
در ضمن داخل کوئری select همینجوری مقدار value رو داخل کوئری نیار از نظر امنیتی بررسی اش کن ...
البته شاید کلاسی که برای دیتابیس استفاده می کنی اینکار رو انجام بده ؟!!؟؟! ....

arefd2010
سه شنبه 05 خرداد 1394, 14:30 عصر
سلام بعد از isset می تونی از is_null هم استفاده کنی:


if (isset(x) && !is_null(x)) {
//do some code
}