PDA

View Full Version : سوال: مشکل در نوشتن UPDATE در زبان PHP



c1m2s3
شنبه 06 اسفند 1390, 00:56 صبح
با سلام خدمت دوستان عزیز
من کدها را به صورت زیر نوشته ام ولی کار نمی کند. البته در php مبتدی هستم. ممنون میشم اگه اشکالاتش رو بگید.
آدرس صفحه: http://address.net/id=1
کد اجرایی : (با لود شدن صفحه میخوام update صورت بگیره)


if (isset($_GET["id"]))
{
test($_POST["id"]);
}


function :


function test($id)
{
global $db_id;

$query="update mytable set item=1 where id=".$id;
$result=mysql_query($query, $db_id);
}

امیـرحسین
شنبه 06 اسفند 1390, 01:03 صبح
شما GET رو چک کردی بعد مقدار POST رو به تابع فرستادی؟ این کار درسته آخه؟

yones_safari
شنبه 06 اسفند 1390, 01:05 صبح
درود.عزیزم مقدار رو با get دریافت میکنی شما اومدی تست مقدار دهی رو با get انجام دادی و مقدار رو با post فرستادی خوب معلومه که کار نمیکنه.دستور زیر رو میگم:

if (isset($_GET["id"])){ test($_POST["id"]);}
موفق باشید.

c1m2s3
شنبه 06 اسفند 1390, 13:43 عصر
درود
این کد درسته:

test($_GET["id"]);
من php رو یکم بلدم و اون یکم هم به صورت تجربی یاد گرفتم. اگه ممکنه یه خورده بیشتر منو راهنمایی کنید. ممنون

MMSHFE
شنبه 06 اسفند 1390, 15:22 عصر
الآن درسته ولی توی تابع test باید قبل از اجرای دستور mysql_query، با کمک دستور mysql_connect به MySQL متصل بشین و با استفاده از دستور mysql_select_db دیتابیس موردنظرتون رو انتخاب کنید. موفق باشید.

farhadfery
شنبه 06 اسفند 1390, 15:33 عصر
آدرس صفحه: http://address.net/id=1
آدرس باید به این شکل باشه : آدرس صفحه: http://address.net?id=1 (http://address.net/id=1)
در حالت اول باید ریرایت url را انجام دهید

c1m2s3
شنبه 06 اسفند 1390, 20:32 عصر
الآن درسته ولی توی تابع test باید قبل از اجرای دستور mysql_query، با کمک دستور mysql_connect به MySQL متصل بشین و با استفاده از دستور mysql_select_db دیتابیس موردنظرتون رو انتخاب کنید. موفق باشید.
درود
اگه درسته پس چرا باز هم کار نمی کنه. اتصالات مربوط به دیتابیس رو انجام داده ام؛ من فقط کد اون قسمتی که مشکل دارم رو گذاشتم. ممنون از پاسختون



آدرس باید به این شکل باشه : آدرس صفحه: http://address.net?id=1 (http://address.net/id=1)
در حالت اول باید ریرایت url را انجام دهید
درود
این آدرس رو برای مثال نوشتم؛ فقط اشتباه چاپی هست. آدرس اصلی درسته. ممنون از پاسختون

MMSHFE
یک شنبه 07 اسفند 1390, 13:57 عصر
اگه میشه کد اصلی رو بگذارین تا دقیقاً‌ از روی اون قضاوت کنیم. با نمونه و یا تکه های پراکنده کد نمیشه راهنمایی دقیقی ارائه بدیم. موفق باشید.

c1m2s3
یک شنبه 07 اسفند 1390, 23:19 عصر
درود
تقریباً تمام کد همینه. از درستی بقیه کدها مطمئنم. شاید مشکل از مشخصات Column باشه. اگر شما همین کاری را که من میخوام انجام بدم را میخواستید انجام بدید، چطور انجام می دادید.

numberone1
یک شنبه 07 اسفند 1390, 23:26 عصر
if (isset($_GET["id"])){ $test = $_GET['id'];
$query="update mytable set item=1 where id=".$test; $result=mysql_query($query, $db_id);
}
</div>

c1m2s3
دوشنبه 08 اسفند 1390, 15:51 عصر
درود
این کد هم کار نکرد.
من برای result یک شرط گذاشتم که اگه کد اجرا نشد پیام mysql_error بدهد. پیام خطای mysql_error رو در پایین نوشته ام. لطفاً منو راهنمایی کنم.
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 \'item=1 where id=1\' at line 1

MMSHFE
دوشنبه 08 اسفند 1390, 18:03 عصر
میشه ساختار جدولتون رو بگذارین؟

c1m2s3
دوشنبه 08 اسفند 1390, 23:39 عصر
درود
ممنون از تمام دوستانی که منو در این تاپیک راهنمایی کردند مخصوصاً از آقای MMSHFE (http://barnamenevis.org/member.php?55504-MMSHFE) نهایت تشکر را دارم.
در دیتابیس به قسمت SQL رفتم و به کد UPDATE که به صورت آماده نوشته بود نگاه کردم و کدها را مثل اون نوشتم که در آخر مشکلم حل شد.