PDA

View Full Version : مشکل با دستوز mysql_fetch_array



mhd.ghavam
شنبه 08 خرداد 1389, 21:34 عصر
سلام دوستان من یک فایل پی اچ پی دارم که کارش اینسرت در دیتابیس هستش که خوب بعدش هم دیتا بیس رو نشون میده من این کد رو نوشتم اینسرت می کنه اما سلکت نمی کنه و ارور میده

کد رو هم میذارم لطفا کمک کنید


<?php

$con= mysql_connect("localhost","root","") or die("sdfgsdfgsdfg". mysql_error());

$spl="INSERT INTO persons (FirstName,LastName) VALUES ('$_POST[fname]', '$_POST[lname]')";

mysql_select_db("my_db3",$con);

mysql_query($spl,$con);

$sql2="SELECT * FROM Persons";

mysql_select_db("my_db3",$con);


$result = mysql_query($spl2);

while($row = mysql_fetch_array( $result ))

{
echo $row["FirstName"]." ".$row["LastName"];
echo "<br/>";

}
mysql_close($con);





?>



این هم از error


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\New Folder\insert.php on line 18

امیـرحسین
شنبه 08 خرداد 1389, 23:30 عصر
شما چرا دارید دوبار mysql_select_db رو دوبار اجرا می کنید؟
خطا بخاطر این هست که مقدار result برابر false شده بجای resource. توسط ()mysql_error خطا رو چک کنید.

mhd.ghavam
یک شنبه 09 خرداد 1389, 06:25 صبح
سلام ممنون که جواب دادید اما بهتر بود یکمی بیشتر توضیح میدادید چون از دستورام مشخصه که تازه کار هستم.

در ضمن با فرض این که mysql_select_db رو هم بردارم میشته بقیشو یک مقدار توضیخ بدید؟ بعدشم من این کد رو کلی تو اینترنت سرچ کردم همه جا همینطوری نوشته بودن

Reza1607
یک شنبه 09 خرداد 1389, 10:58 صبح
<?php
$con= mysql_connect("localhost","root","") or die("sdfgsdfgsdfg". mysql_error());
$spl="INSERT INTO persons (FirstName,LastName) VALUES ('$_POST[fname]', '$_POST[lname]')";
mysql_select_db("my_db3",$con);
mysql_query($spl,$con);
$sql2="SELECT * FROM Persons";
$result = mysql_query($spl2);
while($row = mysql_fetch_array( $result )){
echo $row["FirstName"]." ".$row["LastName"];
echo "<br/>";
}
mysql_close($con);
?>

خط اول مربوط به برقراری ارتباط با بانک میشه و اگه ارتباط با موفقیت برقرار شده یک شماره داخل متغییر $con می ریزه و اگه خطا داد پیغام خطا همراه با اون رشته ای رو که وارد کردید رو چاپ می کنه
خط 2 ) این خط هم یک کوئری که مربوط به درج اطلاعات هست رو داخل $sql می ذاره دقت کنید که این فقط رشته هست و کاری انجام نمی ده
خط 3) در اینجا شما جدولتون رو انتخاب می کنید
خط 4) در این خط هم بعد از اینکه به بانک وصل شدید و بانک مورد نظر رو انتخاب کردید کوئری تون رو اجرا می کنید
خط 5) در خط پنجم باز شما یک کوئری رو که تمام فیلدها رو از جدول Persons تون انتخاب می کنه ( این هم فقط رشته هست)
خط 6) در این دستور شما نتیجه اجرا کوئری بالا رو داخل $result می ریزید
خط 7) در این خط اطلاعات رکورد به رکورد داخل متغییر $row ریخته می شه
خط 8) در این خط شما دو فیلد FirstName و LastName رو چاپ می کنید
و خط آخر یعنی


mysql_close($con);
ارتباط با جدول رو می بنده