Autor Zpráva
monkey
Profil *
Můžete mi prosím někdo pomoct? Mám nainstalovaný MySQL 5.0.24a a PHP 5.1.6 na Win XP funguje to, ale ne dobře. Když přes PHP ukládám do databáze MySQL data, tak se neuloží všechna. Php zpracuje 100 položek a v databázi se mi objeví jen 62 vložených řádků. Nevíte někdo kde je chyba - jestli v konfiguraci, nebo jinde? Když si dám výpis do souboru tak přes PHP opravdu projde 100 řádků - jen se z nějakého důvodu neuloží všechny. Pokud vezmu jakýkoliv řádek z výpisu, tak se do databáze uloží.
krteczek
Profil
no nejspíš ty dotazy selžou. ted jde o to jestli se ti neuloží zbývajících 38(za sebou) nebo náhodně rozhozené
nejlíp je napsat aplikaci tak aby vpřípadě chyby vypsala co se stalo, kde a proč

$dotaz = "SELEC * FROM tabulka";
if($v = mysql_query($dotaz, $spojeni))
{
$p = mysql_num_rows($v);
if($p > 0)
{
for($i = 0; $i < $p; $i++)
{
//vypsání
}
}
else
{
echo 'databáze je prázdná';
}
}
else
{
echo '<h1>Chyba db dotazu</h1>';
echo '<p>Došlo k chybě při vykonávání db dotazu:</p><p><strong>' . $dotaz . '</strong></p>';
echo '<h2>Výpis chyby číslo ' . mysql_errno()</h2>';
echo '<p>' . mysql_error() . '</p>';
}

ale než všude psát výše uvedené je lepší na to napsat funkce a fungovat nějak takhle:

$dotaz = "INSERT INTO tabulka ('sloupec') VALUES ('hodnota') WHERE podminka=1";
if(uloz_db($dotaz) === true)
{
echo 'dotaz se uspesne provedl';
}

stím že se funkce o vše postará a vrátí true/false podle toho jak to dopadne
krteczek
monkey
Profil *
aha,
jsem hlupák, díky moc - pomohl výpis chyby mysql_errno(), mysql_error(). Vypadávaly jednotlivé dotazy, kvůli datům.
Má předchozí verze mysql, kde skript běžel bez problémů, tolerovala víc "hnusáren" - nevhodně zvolená délka řetězce.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0