הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [Php]מה השגיאה בקוד זה מוזר (https://hosts.co.il/forums/showthread.php?t=47160)

KvO` 08-06-07 22:51

[Php]מה השגיאה בקוד זה מוזר
 
PHP קוד:

$yyy_query mysql_query("SELECT * FROM yyy ORDER BY id DESC WHERE ad=".$_GET['ad']."");
while (
$yyy mysql_fetch_array($yyy_query)) { 

זה אומר לי שגיאה ב mysql_fetch_array ואני לא מבין מה S:


והאם קוד כזה זה תקין:
PHP קוד:

$yyy_query mysql_query("select * from yyy order by id desc  limit ".$zzz.", ".$xxxx." where ad=".$_GET['ad']."");
while (
$yyy mysql_fetch_array($yyy_query)) { 

כי הבנתי שאי אפשר limit ו where באותו שאילתא


תודה מראש

4ior 08-06-07 23:09

תשים את הwhere לפני הorder by
PHP קוד:

$yyy_query mysql_query("SELECT * FROM yyy WHERE ad=".$_GET['ad']." ORDER BY id DESC");
while (
$yyy mysql_fetch_array($yyy_query)) { 

ואפשר לעשות where וlimit באותה שאילתה...

DorWD 08-06-07 23:10

כי אתה עושה הכל הפוך..
עושים ככה:
PHP קוד:

select from yyy where ad '".$_GET['ad']."' order by id desc limit x


KvO` 09-06-07 00:11

ניסיתי זה עדין נותן לי שגיאה באותה שורה יש למישהו מושג למה?

RS324 09-06-07 05:00

תוסיף
or die(mysql_error())
שנוכל לדעת מה השגיאה.

KvO` 09-06-07 12:04

rs.. עשיתי וזה מה שנתן לי:

קוד:

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 'ORDER BY id DESC' at line 1

Eran-s 09-06-07 12:21

יש לך שדה בשם id? תבדוק טוב

KvO` 09-06-07 12:53

כן יש לי ..

Daniel 09-06-07 12:57

אנא תן לנו את השאילתה המלאה.

KvO` 09-06-07 12:59

זה המלא:

PHP קוד:

$yyy_query mysql_query("SELECT * FROM yyy ORDER BY id DESC WHERE ad=".$_GET['ad'].""); 
while (
$yyy mysql_fetch_array($yyy_query)) { 


Daniel 09-06-07 13:00

OHHH...
ענו לך כבר!
ORDER BY זה אחרי ה-WHERE

KvO` 09-06-07 13:02

עשיתי את זה כבר פשוט העתקתי את זה מתחילת האשכול =\

Daniel 09-06-07 13:02

$yyy_query = mysql_query("SELECT * FROM yyy WHERE ad=".$_GET['ad']." ORDER BY id DESC");

KvO` 09-06-07 13:06

עשיתי כבר ככה

זה יכול להיות קשור בגלל שה where לא קשור לטבלה של yyy ?

Daniel 09-06-07 13:08

PHP קוד:

$yyy_query mysql_query("SELECT * FROM yyy WHERE ad=".$_GET['ad']." ORDER BY id DESC") or die(mysql_error()); 

ותגיד לנו מה זה מחזיר.

KvO` 09-06-07 13:11

אמרתי כבר חחח

שוב:
קוד:

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 'ORDER BY id DESC' at line 1

Daniel 09-06-07 13:13

משתמשים בגרשיים כשאתה לא מכניס מספרים...
PHP קוד:

$yyy_query mysql_query("SELECT * FROM yyy WHERE ad='".$_GET['ad']."' ORDER BY id DESC") or die(mysql_error()); 


KvO` 09-06-07 13:14

אחי עדין לא =\

ותודה שאתה עוזר לי ככה

Daniel 09-06-07 13:19

אין בעד מה, אני בטוח שאתה היית עושה את אותו הדבר.

PHP קוד:

$yyy_query mysql_query("SELECT * FROM `yyy` WHERE `ad`='".$_GET['ad']."' ORDER BY `id` DESC") or die(mysql_error()); 

תנסה עכשיו

KvO` 09-06-07 13:21

עדין אותו שגיאה

רוצה אני ישלח לך בפרטי את הקוד המלא של העמוד(20-30 שורות)
ואולי תצליח לדעת מה הבעיה?

Daniel 09-06-07 13:23

לא, לא צריך.
הממ, איני יודע למה זה לא עובד.

KvO` 09-06-07 13:30

באסה=\
טוב תודה בכאול זאת

מישהו אולי יודע?

LosNir 09-06-07 13:36

HTML קוד:

$yyy_query = mysql_query("SELECT * FROM yyy WHERE ad='$_GET[ad]' ORDER BY id DESC") or die(mysql_error()); 

Daniel 09-06-07 13:37

ובהסבר של LosNir,
החלף את
$_GETad]
ב-
$_GET['ad']

LosNir 09-06-07 13:39

ציטוט:

נכתב במקור על ידי MasterT (פרסם 495881)
ובהסבר של LosNir,
החלף את
$_GETad]
ב-
$_GET['ad']

אפשרי בלי.

KvO` 09-06-07 13:44

עכשיו זה השגיאה שזה נותן לי(עשיתי מה שלוסניר אמר בלי ה[)

Unknown column 'ad' in 'where clause'

Daniel 09-06-07 13:46

א. אין טור בשם ad


ב. באמת? אפשר לעשות רק עם סלאש אחד בלי מרכאות ובלי {}?

KvO` 09-06-07 13:49

בה למישהו שאני ישלח את הקוד המלא בפרטי ואולי הוא ימצא את הבעיה?
זה בכלל לא קוד ארוך

LosNir 09-06-07 13:54

ציטוט:

נכתב במקור על ידי MasterT (פרסם 495889)
א. אין טור בשם ad


ב. באמת? אפשר לעשות רק עם סלאש אחד בלי מרכאות ובלי {}?

כמובן :)

תנסה את זה:

HTML קוד:

$yyy_query = mysql_query("SELECT * FROM yyy WHERE ad='$_GET[ad]' ORDER BY id DESC") or die(mysql_error()); 
הייתה לי פשוט שגיאת כתיב, חייב לשים [ ו ]. אבל לא { }.

KvO` 09-06-07 14:14

עדין:
Unknown column 'ad' in 'where clause'

יש מצב אתה נכנס אלי לאיסי?

Tomer 09-06-07 14:23

ציטוט:

נכתב במקור על ידי KvO` (פרסם 495925)
עדין:
Unknown column 'ad' in 'where clause'

יש מצב אתה נכנס אלי לאיסי?

אין שדה בשם ad במסד-נתונים שלך. אין פה הרבה מה לעזור.

KvO` 09-06-07 14:28

ברור שיש יש שתי טבלאות ככה:

yyy - טבלה
id
url
name

cat - טבלה
ad
namec

Daniel 09-06-07 14:34

בטבלה cat יש ad, לא ב-yyy

4ior 09-06-07 14:34

נו אז תתייחס לטבלה cat
PHP קוד:

$yyy_query mysql_query("SELECT * FROM cat,yyy WHERE cat.ad='$_GET[ad]' ORDER BY yyy.id DESC") or die(mysql_error()); 


KvO` 09-06-07 14:43

תודה רבה
עכשיו זה לא עושה שגיאה
אבל זה גם לא מראה את המידע ששלחתי =\

Daniel 09-06-07 15:01

$yyy_query = mysql_query("SELECT * FROM cat,yyy WHERE cat.ad='{$_GET["ad"]}' ORDER BY yyy.id DESC") or die(mysql_error());

אם איני טועה במערך צריך לעשות {}

KvO` 09-06-07 15:10

עדין לא פועל =\

אולי אני יעשה את זה יותר פשוט

יש אפשרות לעשות בטבלה אחת שתי שדות עם מפתח ראשי וכל הדברים (כמו אידי בקיצור)?

LosNir 09-06-07 15:12

HTML קוד:

$yyy_query = mysql_query("SELECT * FROM cat,yyy WHERE cat.ad='$_GET[ad]' ORDER BY yyy.id DESC") or die(mysql_error()); 

Daniel 09-06-07 15:14

טעות.
כשאתה משתמש במערך, אתה חייב לשים {}, מכיוון ש-PHP אינו קולט את ] כחלק מהמשתנה-וגומר אותו.
(או לפחות ככה בגירסת PHP שאני עובד איתה)

LosNir 09-06-07 15:15

ציטוט:

נכתב במקור על ידי MasterT (פרסם 495998)
טעות.
כשאתה משתמש במערך, אתה חייב לשים {}, מכיוון ש-PHP אינו קולט את ] כחלק מהמשתנה-וגומר אותו.

היא לא.


כל הזמנים הם GMT +2. הזמן כעת הוא 05:10.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ