PDA

View Full Version : سوال: عدم اجرای Sql



DR.HTML
شنبه 23 آذر 1392, 20:35 عصر
دوستان میشه راهنمای بفرمایید چرا کد زیر del عمل نمیکنه ؟

<?php ob_start();
include "config.php";
mysql_query('DELETE FROM users WHERE user=$_GET["user"]' ) ;
header("location:main.php");

?>

<?php session_start();

if ($_SESSION["x"]!=1)
header("location:index.php");
?>



<table width="500px" height="60px" border="1px">
<tr>
<td>user</td>
<td>id</td>
<td>email</td>
<td>del</td>
<td></td>
<td></td>
</tr>
<?php
include "config.php";
$k=mysql_query("select * from users");
while ($tedad=mysql_fetch_assoc($k))
{
echo "<tr>";
echo "<td>".$tedad["user"]."</td>";
echo "<td>".$tedad["password"]."</td>";
echo "<td>".$tedad["email"]."</td>";
echo "<td><a href='del.php?user=".$tedad["user"]."'>del</a></td>";
echo "<td></td>";
echo "<td></td>";
echo "</tr>";
}
?>

</table >


با تشکر

us1234
شنبه 23 آذر 1392, 21:28 عصر
mysql_query("DELETE FROM users WHERE user='".$_GET["user"]."'" ) ;
اگر user از نوع char در دی بی هست باید دو طرف مقدارش در تساوی '' بذارید و اتصال رشته ها در پی اچ پی . می باشد

DR.HTML
شنبه 23 آذر 1392, 21:34 عصر
ممنون اما کاری از پیش نبرد

omidabedi
شنبه 23 آذر 1392, 21:56 عصر
دوست عزیز بعد از mysql_query یه or die() بزارید ببینید مشکلش چیه.


mysql_query('DELETE FROM users WHERE user=$_GET["user"]' ) or die ("delete query failed!!");


در صورتی که اشکال از این باشه رشته رو چاپ میکنه

DR.HTML
یک شنبه 24 آذر 1392, 11:30 صبح
delete query failed!! میزنه !

Reza1607
یک شنبه 24 آذر 1392, 11:48 صبح
این رو بنویسید و خروجی رو اینجا قرار بدید

mysql_query('DELETE FROM users WHERE user=$_GET["user"]' ) or die (mysql_error());

DR.HTML
یک شنبه 24 آذر 1392, 12:01 عصر
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '["user"]' at line 1

Veteran
یک شنبه 24 آذر 1392, 12:09 عصر
$user=mysql_real_escape_string($_GET['user']);
mysql_query("DELETE FROM `users` WHERE (`user`='$user')");

DR.HTML
یک شنبه 24 آذر 1392, 12:18 عصر
ممنون دوست عزیز جواب داد مثل اینکه هرجا مستقیم $_get و post رو میزارم مشکل داره بزارم تو متغیر بهتره

Veteran
یک شنبه 24 آذر 1392, 12:22 عصر
خیر مشکل این نیست.مشکل از استفاده نادرست از دابل کوتیشن بود.
به هرحال بهتره که از این متغیر ها به صورت مستقیم استفاده نکنیم و قبل از استفاده اونهارو با توابع PHP امن کنیم(به علت احتمال ورود کاراکتر های مخرب توسط کاربر)