Autor Zpráva
Mufna
Profil
Omlouvám se, že otravuju s dotazem, který se týká na 100% syntaktické chyby, ale už na to čumím dost dlouho a na nic nemůžu přijít - a pořád mi to samozřejmě nejede. Jde o výběr konkrétní položky podle ID z jedné tabulky databáze (pro její následný výmaz či editaci). Pro jistotu jsem si na začátku vypsal, zda $_GET["id"] je OK (hodnota se přebírá z jiného PHP souboru). Už asi i blbnu, že ještě vytvářím další proměnnou $id, ale jsem už prostě v koncích a ne a ne na to přijít. Poradíte mi někdo ? Předem díky !

Jinak vše je OK (inicializace db, prefix tabulky atd.). A taktéž GET_["id"] má správnou (odpovídající) hodnotu.

Jo, a hlásí mi to "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource ..., no ale to je asi jasný


echo $_GET["id"];

$id = $_GET["id"];

echo '<br><br>';

echo $id;

echo '<br><br>';

$query = "(SELECT ".$tbl_prefix."karavany.id AS id,
	       ".$tbl_prefix."karavany.name_type AS name_type,
	       ".$tbl_prefix."karavany.prod_year AS prod_year,
	       ".$tbl_prefix."karavany.description AS description,
               ".$tbl_prefix."karavany.condition AS condition,
               ".$tbl_prefix."karavany.add_info AS add_info,
               ".$tbl_prefix."karavany.price AS price,
               ".$tbl_prefix."karavany.date_inserted AS date_inserted,
	       ".$tbl_prefix."karavany.photos AS photos,
               FROM ".$tbl_prefix."karavany WHERE ".$tbl_prefix."karavany.id='".addslashes($_GET["id"])."')";

$res=mysql_query($query);

$row=mysql_fetch_array($res);

if ($row > 0) {
   echo 'Dotaz OK';
   show_car($row);
 } else {
   echo '<div class="msg"> sql $query error<br>' .mysql_errno(),'</div>';
}

Kajman_
Profil *
$query = "SELECT ".$tbl_prefix."karavany.id AS id,
".$tbl_prefix."karavany.name_type AS name_type,
".$tbl_prefix."karavany.prod_year AS prod_year,
".$tbl_prefix."karavany.description AS description,
".$tbl_prefix."karavany.condition AS condition,
".$tbl_prefix."karavany.add_info AS add_info,
".$tbl_prefix."karavany.price AS price,
".$tbl_prefix."karavany.date_inserted AS date_inserted,
".$tbl_prefix."karavany.photos AS photos
FROM ".$tbl_prefix."karavany WHERE ".$tbl_prefix."karavany.id='".addslashes($_GET["id"])."'";

if($res=mysql_query($query))
{
echo 'Dotaz OK';
$row=mysql_fetch_array($res);
show_car($row);
} else {
echo '<div class="msg"> sql $query error<br>' .mysql_errno(),'</div>';
}
Mufna
Profil
Kajman

Tak mi zmizelo "Warning: mysql_fetch_array() ... atd", ale stále mi to háže chybu v dotazu a položka se neobjeví
nightfish
Profil
ale stále mi to háže chybu v dotazu a položka se neobjeví
a podělíš se s námi o chybu, kterou ti mysql píše? (tzn. výstup mysql_error, ideálně i s vygenerovanou podobou SQL dotazu)
Alphard
Profil
(tzn. výstup mysql_error, ideálně i s vygenerovanou podobou SQL dotazu)
ideálně otestuj funkci zde http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=7 1586 :-)
Mufna
Profil
nightfish

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 'condition, wr_karavany.add_info AS add_info, wr_karavany.price AS price, w' at line 5

Číslo chyby: 1064
Mufna
Profil
Mimochodem, Error 1064 mi nedávno hlásil jiný skript s dotazem na db, který zapisoval data přijatá z formuláře. Tehdy to bylo kvůli 2x stejné hodnotě name="" ve formuláři. Taky mi to pořád házelo chyby v dotazu na řádku tom a tom a blízko toho a toho, ale zakopanej pes byl někde úplně jinde. Jenže tentokrát nic žádným formulářem neposílám a pokud si echem vypíšu $_GET['id'] a to sedí, tak by tahle varianta možného problému měla snad odpadnout.
Kajman_
Profil *
condition je klíčové slovo, zkuste odstranit as nebo použít ` viz
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
Mufna
Profil
Kajman

Uf .. tak díky moc, je to tím ... použil jsem ` a jede to ! Fakt díky, tohle mi hodně pomohlo
Toto téma je uzamčeno. Odpověď nelze zaslat.