En saa tätä php -scriptissä olevaa mysql -kannan päivitystä toimimaan eli numero -kentän arvo ei päivity. Mikä siinä on vialla?
$yhteys = mysql_connect("$DB_Server", "$DB_Username", "$DB_Password") or die("Yhdistäminen ei onnistunut!"); mysql_select_db("$DB_DBName", $yhteys) or die("Tietokantaa ei löytynyt!"); $sql = "UPDATE taulunnimi SET 'numero' = 1 WHERE koodi = '$koodi' AND numero = '0'"; $mysql_haun_tulos = mysql_query($sql, $yhteys); print "$mysql_haun_tulos"; mysql_close($yhteys);
Ruudulle tulostuu pelkkä ykkönen. Onko se virhekoodi ja mistä se kielii?
rauski3 kirjoitti:
$sql = "UPDATE taulunnimi SET 'numero' = 1 WHERE koodi = '$koodi' AND numero = '0'";
Mikä idea on laittaa numero-sanan ympärille hipsut? Numeroarvoissakaan ei pitäisi olla niitä.
mysql_query palauttaa joko falsen tai truen, riippuen onnistuiko kysely. 1 = true, 0 = false.
Ok, mutta toimi ilman niitäkään...
Mistä päättelit, että kenttä ei päivity? Tuolla hakemallasi tavalla et sitä ainakaan saa selville, vaan sinun tulee hakea tiedot tutkia siitä mysql_query funktion paluuarvon tutkiminen ei liene kauhean mielekästä.
mysql_result, mysql_fetch_array ja mysql_fetch_assoc palauttavat tietoja tietokannasta.
Selaimella + phpMyAdmin:lla
Kokeile tulostaa SQL-kysely sivulle ennen mysql_query-riviä:
echo $sql;
Onko kysely varmasti oikea? Toimiiko se phpMyAdminin kautta?
phpMyAdminin kautta tekee kiltisti työtä käskettyä.
Tuo echo $sql; tulostaa update taulunnimi set numero = 1 WHERE koodi = '123' ja kun copypeistaan sen phpMyAdmin:n SQL -kyselyksi, numero -kenttä päivittyy kuten pitää.
Toimivatko muut SQL-kyselyt (esim. SELECT) saman PHP-sivun kautta?
Koita mysql_error() funktiota, ja laita ini_set("error_reporting", E_ALL); ja ini_set("display_errors", 1);
$sql = "update taulunnimi set numero = 1 WHERE koodi = '$koodi'"; toimii :) En ymmärrä, miten sain kirjoitettua tuo ainakin 50 kertaa jotenkin väärin. Tuhannet kiitokset avustanne.
Aihe on jo aika vanha, joten et voi enää vastata siihen.