PDA

View Full Version : error به هنگام حذف داده



ahmad_1986
پنج شنبه 30 خرداد 1387, 22:10 عصر
با سلام و صد سلام . وبا عرض تشکر از همه بروبچه های این سایت .مرحبا و آفرین به شما دوستان که با جواب دادن به سوالات دیگران باعث گسترش علم ودانش می شوید .:تشویق:
من که تمام دستورات مربوط به php و mysql را برای درج و حذف در باک اطلاعاتی را با سرچ از این سایت یاد گرفتم. :لبخندساده:
با تشکر از همه شما و به خصوص آقا وحید (vahid4134) که هیچ وقت من را بی جواب نگذاشته و همیشه به من کمک کرده است.
کدی که در زیر گذاشته ام را با توجه به چیزهایی که در این سایت از شما و از پاسخ های وحید جان و دیگر دوستان یاد گرفته ام نوشته ام ولی با error زیر روبرو میشم که قریب به دو روز با کدم ور رفتم ولی درست نشد که نشد دیگه بازم مجبور شدم مزاحم شما شم .کمکم کنید. :ناراحت::افسرده::گریه:
با تشکر.



Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Type.php on line 23

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Type.php on line 30

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Type.php on line 48
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\Type.php on line 49


اینم کدمه . بازم تشکر. میدونم تو این زمونه همه سرشون شلوغه و وقت برای کارای خودشونم کم می یارن. ولی خواهشمندم کمکم کنید. بازم تشکر.خیییییییلی تشکر.



<?php
$codeaj=$_POST['codeaj'];
$address=$_POST['address'];
$type=$_POST['type'];
$connect=mysql_connect( "", "root", "" );
$db=mysql_select_db($address,$connect);
mysql_query("SET CHARACTER SET utf8;");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
if($_POST['send1']){
$delete=$_POST['delete'];
if(is_array($delete) and count($delete)){
$sql="";
foreach($delete as $v){
$sql.=" id=".$v." or";
}
$sql=substr($sql,0,-2);
mysql_query("DELETE FROM ".$type." where ".$sql);
}
}
$selectedfield=mysql_query("select * from ".$_POST['type']." where codeaj=".$codeaj);
$col_num=mysql_num_fields($selectedfield);
echo "<br /><br /><table border=1 bordercolor=blue>\n";
echo '<tr>';
for($i=0;$i<$col_num;$i++){
echo'<th>'.mysql_field_name($selectedfield,$i).'</th>';
}
echo '</tr>';
while ($line = mysql_fetch_array($selectedfield, MYSQL_ASSOC))
{
echo '<tr>';
for($i=0;$i<$col_num;$i++)
{
$col=mysql_field_name($selectedfield,$i);
echo'<td>'.$line[$col].'</td>';
}

echo '<form method="POST" action="type.php">
<td><input type="checkbox" name="delete[]" value="'.$line['id'].'"><td>';

echo "</tr>\n";
}
echo "</table>\n";
echo "<input type='submit' name='send1' value='send'>";
echo "</form>";
mysql_free_result($selectedfield);
mysql_close($selectedfield);
?>


شرمندتونم ببخشیدا اگه میشه راجع به خود error هم توضیح بدهید.که اگه دوباره با اون مواجه شدم خودم بتونم برطرف کنم.

ahmad_1986
پنج شنبه 30 خرداد 1387, 22:12 عصر
شرمنده یادم رفت بگم اون سه خط اول رو از یک فرم در یک صفحه دیگر دریافت می کنم.



$codeaj=$_POST['codeaj'];
$address=$_POST['address'];
$type=$_POST['type'];

vahid4134
پنج شنبه 30 خرداد 1387, 23:01 عصر
<?php
$codeaj=$_POST['codeaj'];
$address=$_POST['address'];
$type=$_POST['type'];
mysql_connect( "", "root", "" );
mysql_select_db($address);
mysql_query("SET CHARACTER SET utf8;");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
if($_POST['send1']){
$delete=$_POST['delete'];
if(is_array($delete) and count($delete)){
$sql="";
foreach($delete as $v){
$sql.=" id=".$v." or";
}
$sql=substr($sql,0,-2);
mysql_query("DELETE FROM ".$type." where ".$sql);
}
}
$selectedfield=mysql_query("select * from ".$_POST['type']." where codeaj=".$codeaj);
$col_num=mysql_num_fields($selectedfield);
echo "<br /><br /><table border=1 bordercolor=blue>\n";
echo '<tr>';
for($i=0;$i<$col_num;$i++){
echo'<th>'.mysql_field_name($selectedfield,$i).'</th>';
}
echo '</tr>';
while ($line = mysql_fetch_array($selectedfield, MYSQL_ASSOC))
{
echo '<tr>';
for($i=0;$i<$col_num;$i++)
{
$col=mysql_field_name($selectedfield,$i);
echo'<td>'.$line[$col].'</td>';
}

echo '<form method="POST" action="type.php">
<td><input type="checkbox" name="delete[]" value="'.$line['id'].'"><td>';

echo "</tr>\n";
}
echo "</table>\n";
echo "<input type='submit' name='send1' value='send'>";
echo "</form>";
mysql_free_result($selectedfield);
mysql_close();
?> تونستی یه نگاه به منوال در قسمت mysql بنداز

ahmad_1986
جمعه 31 خرداد 1387, 10:56 صبح
آقا وحید بازم تشکر و ممنون که جوابم را دادی. خیییییییییلی تشکر.
ولی بازم همون error را می داد.


Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in C:\wamp\www\type.php on line 21
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\type.php on line 28

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\type.php on line 45


تا اونجا که من فهمیدم شما در دستورتان mysql_connect را در متغیری ذخیره نکرده و در mysql_close و mysql_select_db به عنوان آرگومنت اون متغیرو به این دستورات ندادی.این رو در یکی از پاسخ های دیگر شما در قبل یاد گرفته و در این دستور هم عمل کرده بودم ولی باز error گرفته بودم .الان هم باز یک بار دیگه همین کارو کردم ولی باز error گرفتم .خواهش می کنم بازم کمکم کن چرا که خیلی گیرم.
بازم تشکر. و صد هزار بار ممنون.

vahid4134
جمعه 31 خرداد 1387, 12:34 عصر
<?php
$codeaj=$_POST['codeaj'];
$address=$_POST['address'];
$type=$_POST['type'];
mysql_connect( "localhost", "root", "" ) or die (mysql_error());
mysql_select_db($address) or die (mysql_error());
mysql_query("SET CHARACTER SET utf8;") or die (mysql_error());
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'") or die (mysql_error());
if($_POST['send1']){
$delete=$_POST['delete'];
if(is_array($delete) and count($delete)){
$sql="";
foreach($delete as $v){
$sql.=" id=".$v." or";
}
$sql=substr($sql,0,-2);
mysql_query("DELETE FROM ".$type." where ".$sql);
}
}
$selectedfield=mysql_query("select * from ".$_POST['type']." where codeaj=".$codeaj) or die (mysql_error());
$col_num=mysql_num_fields($selectedfield);
echo "<br /><br /><table border=1 bordercolor=blue>\n";
echo '<tr>';
for($i=0;$i<$col_num;$i++){
echo'<th>'.mysql_field_name($selectedfield,$i).'</th>';
}
echo '</tr>';
while ($line = mysql_fetch_array($selectedfield, MYSQL_ASSOC))
{
echo '<tr>';
for($i=0;$i<$col_num;$i++)
{
$col=mysql_field_name($selectedfield,$i);
echo'<td>'.$line[$col].'</td>';
}

echo '<form method="POST" action="type.php">
<td><input type="checkbox" name="delete[]" value="'.$line['id'].'"><td>';

echo "</tr>\n";
}
echo "</table>\n";
echo "<input type='submit' name='send1' value='send'>";
echo "</form>";
mysql_free_result($selectedfield);
mysql_close();
?>

این رو هم امتحان کن. (البته من این کدها رو امتحان نمی کنم چون دیتابیست رو ندارم اما سعی کن خودت یک مقدار از کدهای منوال استفاده کنی و به اونها نگاه کنی. از mysql_error هم استفاده کن همیشه)

ahmad_1986
شنبه 01 تیر 1387, 00:39 صبح
آقا وحید بازم ممنون که جوابم را دادی .
وحید جان در اسکریپت من بانک و جدول را می شناخت و جدول من را نمایش می داد ولی پس از کلیک چک باکس و زدن send با اون error که گذاشته بودم مواجه می شدم. اما حالا وحید جان من بعد از گذاشتن mysql_error() با error زیر روبروشدم.


No database selected

این شد که من سه خط زیر را به فرمم اضافه کردم ولی ایندفعه پس از اجرا error نگرفتم ولی پس از کلیک چک باکس ها و زدن send رکورد انتخاب شده حذف نشد و عملا من باز موندم که چه کنم.شرمنده بازم کمکم می کنی. :ناراحت: :افسرده: :افسرده:
بازم ممنون و صد هزار بار تشکر.
این کدی که اضافه کردم.


echo '<form method="POST" action="type.php">
<td><input type="checkbox" name="delete[]" value="'.$line['id'].'"></td>';
echo '<td> <input type="hidden" name="codeaj" value="'.$_POST['codeaj'].'"></td>
<td> <input type="hidden" name="type" value="'.$_POST['type'].'"></td>
<td><input type="hidden" name="address" value="'.$_POST['address'].'"></td>';