PDA

View Full Version : مشکل با بانک اطلاعاتی



mehdi4467
پنج شنبه 17 شهریور 1390, 17:05 عصر
سلام
من جدیدا به یک مشکلی که برخوردم اینه که در کوئری ها حتما باید قبل از نام جدول اسم دیتابیس رو هم بنویسم تا کوئری جواب بده.
مثلا کوئری زیر کار نمی کنه:

$result=mysql_query(" SELECT * FROM order WHERE userid = '1' AND finalized = 1 ");
ولی کوئری زیر کار می کنه:

$result=mysql_query(" SELECT * FROM myshop.order WHERE userid = '1' AND finalized = 1 ");
یعنی وقتی به کوئری اسم دیتابیس رو اضافه می کنم ( که در اینجا myshop است) کوئری درست کار می کنه.


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

mehdi4467
پنج شنبه 17 شهریور 1390, 17:33 عصر
من اومدم و جدول order رو کردم m_order و درست شد.
دلیلش چیه؟

mamali-mohammad
پنج شنبه 17 شهریور 1390, 18:31 عصر
برای اینکه قاطی نکنه بهتره از 1` استفاده کنی

$result=mysql_query(" SELECT * FROM `order` WHERE `userid` = '1' AND `finalized` = '1' ");

mohsen6500
پنج شنبه 17 شهریور 1390, 18:36 عصر
سلام
درباره سوال اول که قانونش همینه اول باید جدولت رو مشخص کنی و بعد فیلدش رو تعیین کنی
درباره اولویت هم باید بگم ابتدا اولویت با where هست و بعدش order by و حتما این نکته رو باییستی رعایت کنی
مثلا :

<?php
$query = "SELECT * FROM $tbl_name where FildName ='FildName' ORDER BY FildName (DESC/ASC) LIMIT $start, $limit ";
$result = mysql_query($query,$db);
?>
موفق باشید

mehdi4467
جمعه 18 شهریور 1390, 04:07 صبح
سلام
مشکل از نام order هست که ظاهرا جزء کلمات کلیدی mysql است. زمانی که دیتابیس رو export کردم در notepad++ کلمه order آبی شده بود.

MMSHFE
جمعه 18 شهریور 1390, 16:01 عصر
دوست گرامي، هميشه قواعد استانداردنويسي رو رعايت كنيد. مستندات MySQL ميگه كه اسامي فيلدها، جداول، و كلاً عناصري كه خودتون تعريف كردين رو توي گيومه برعكس ` و مقادير رو توي گيومه تك ' قرار بدين تا با كلمات كليدي و شناسه هاي زبان اشتباه گرفته نشه. موفق باشيد.

mehdi4467
جمعه 18 شهریور 1390, 22:39 عصر
دوست گرامي، هميشه قواعد استانداردنويسي رو رعايت كنيد. مستندات MySQL ميگه كه اسامي فيلدها، جداول، و كلاً عناصري كه خودتون تعريف كردين رو توي گيومه برعكس ` و مقادير رو توي گيومه تك ' قرار بدين تا با كلمات كليدي و شناسه هاي زبان اشتباه گرفته نشه. موفق باشيد.
سلام
ممنون.
ولی به نظر من بهتره همن یک پیشوند به جداولمون بدیم تا این مشکل هیچگاه رخ ندهد و از کلمات کلیدی و شناسه های زبان استفاده نشود.