עבור לתוכן

עזרה ב-PHP בעבודה מול מסד נתונים

Featured Replies

פורסם

הוא כן.

בכל מקרה, ניסית לכתוב $str כמו שזה אמור להיות (עם $) ?

ותעשה בדיקה לפני ה-mysql_fetch_row ש-$result הוא לא FALSE..

  • תגובות 42
  • צפיות 3.1k
  • נוצר
  • תגובה אחרונה
פורסם
  • מחבר

טוב ניסיתי ככה:

$query = "SELECT * FROM phonebook WHERE $str LIKE '%str%'";
$result = mysql_query($query, $db);

echo mysql_error($db);

הוא נותן שגיאה אחרת.

עשיתי בדיקה אם result הוא False והוא אכן.

עכשיו גיליתי דבר מעניין, השם של המסד נתונים כלל לא נכון... :kopfpatsch:

תיקנתי אותו ועכשיו אני מקבל עם mysql_error את השגיאה הבאה:

Unknown column 'str' in 'where clause'

פורסם

א. תבדוק שבאמת יש לך עמודה כזו שקוראים לה str

ב. לא בנית את המחרוזת query בצורה נכונה. אתה לא מתייחס ל- STR שבתוך ה%% כאל משתנה, אלא כאל מחרוזת רגילה.

פורסם

לא ככה:

$query = "SELECT * FROM phonebook WHERE $str LIKE '%str%'";

אלא ככה:

$query = "SELECT * FROM phonebook WHERE str LIKE '%$str%'";

פורסם
  • מחבר

שיניתי ועדיין אותך שגיאה.

אגב האם אני הכתיב הבא חוקי?

$query = "SELECT * FROM phonebook WHERE str LIKE '$str%'";

פורסם

כן

אבל בוא ננסה לפשט את העניין..

$query = "SELECT * FROM `phonebook` WHERE `str` LIKE '%" . $str . "%'";
echo '<p>query: ' . $query . '</p>;

עובד?

אם לא, מה השגיאה, ומה ה-query שמתקבל ?

פורסם
  • מחבר


Parse error: parse error, unexpected $ in x on line 29

כמובן שמקום x היה את מיקום הקובץ.

אגב שורה 29 בכלל היא שורה אחרי התג </html>. :s05:

פורסם
  • מחבר

איזו טעות... :)

טוב הנה הפלט שקיבלתי בהנחה שהיזנתי or:

query: SELECT * FROM `phonebook` WHERE `str` LIKE '%or%'

פורסם
  • מחבר

לא מקבל.

פורסם
  • מחבר

שעדיין כשאני שם:

$result = mysql_query($query, $db);

while($print = mysql_fetch_row($result))
for($i=0;$i<count($print);$i++)
echo "$print[$i]\n";

אני מקבל:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/lupo/domains/lupo.servland.co.il/public_html/search/searchresult4.php on line 26

פורסם

נו אבל אמרתי לך, זה כי פשוט אין results...

ולא הבנתי מה ניסית לעשות בלולאת ה-for שלך.. מה ניסית להשיג עם count($print) ?

פורסם
  • מחבר

אבל אני רוצה לדעת מדוע וכיצד אוכל לפתור זאת.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים