M Melea Medlem sedan juli 2003 3 147 inlägg Trådstart 29 nov. 2003 15:15 #1 Hejsan!
Har problem med en insert sats där jag vill sätta in X antal poster i databasen.
Såhär ser koden ut just nu:
<? if ($_GET['action'] == 1) { ?>
<form action="?show=match_add&action=2" method="post">
1on1: <input type="text" name="oneonone" class="input"><br>
<input type="submit" value="Next Step" class="submit">
</form>
<? } elseif ($_GET['action'] == 2) { ?>
<form action="admin/match_add.php" method="post">
<?
$iCount1 = 0;
for ($i=1; $i<=$_POST['oneonone']; $i++){
$iCount1++; ?>
<input type="text" name="oneonone_own<?=$i?>" class="input">
<input type="text" name="oneonone_enemy<?=$i?>" class="input">
<input type="text" name="oneonone_result<?=$i?>" size="3" class="input"><br>
<?
}
?>
<input type="hidden" name="oneonone_count" value="<?=iCount1?>">
<input type="submit" value="Insert" class="submit">
</form>
Detta funkar utmärkt, får ut antal poster som jag skriver in i action=1. Men när jag väl ska sätta in det i databasen strular det, insertkoden ser ut såhär:
for ($i = 1; $i<= $_POST['oneonone_count']; $i++) {
$SQL = "INSERT INTO teamswe_matches (oneonone_own, oneonone_enemy, oneonone_result) VALUES ('".$_POST['oneonone_own'.$i]."', '".$_POST['oneonone_enemy'.$i]."', '".$_POST['oneonone_result'.$i]."')";
mysql_query($SQL);
}
Någon som ser på rakt arm vad felet är? Koden ger alltså inget felmeddelande. Den kör sitt race men ingenting sätts in i databasen...
Tack på förhand!
Mvh
Peeer Medlem sedan mars 2002 5 907 inlägg Prova att skriva ut frågan istället för att köra den. Så ser du om det är något fel i den iaf.
M Melea Medlem sedan juli 2003 3 147 inlägg Man skriver ju
Response.Write SQL
Response.End
i ASP, hur gör man i PHP?
M Melea Medlem sedan juli 2003 3 147 inlägg Det händer inget när jag lägger in echo$SQL; die();
for ($i = 1; $i<= $_POST['oneonone_count']; $i++) {
$SQL = "INSERT INTO teamswe_matches (oneonone_own, oneonone_enemy, oneonone_result) VALUES ('".$_POST['oneonone_own'.$i]."', '".$_POST['oneonone_enemy'.$i]."', '".$_POST['oneonone_result'.$i]."')";
echo $SQL;
die();
mysql_query($SQL);
}
Mvh
Matte Medlem sedan aug. 2000 2 975 inlägg Testa med att ändra till
<input type="hidden" name="oneonone_count" value="<?=$iCount1 ?>">
M Melea Medlem sedan juli 2003 3 147 inlägg Yesh! Klantigt av mig, tack så mkt, funkar utmärkt nu!
Matte Medlem sedan aug. 2000 2 975 inlägg Är det en lokal testserver du kör på, ändra i php.ini så du får med alla felmeddelande och varningar:
error_reporting = E_ALL
display_errors = On
Starta om webbservern efter ändring i php.ini
Annars kan du lägga följande överst i skript du vill felsöka
error_reporting(E_ALL);
ini_set("display_errors", "1");
Då hade du fått reda på var det spökade för dig.
M Melea Medlem sedan juli 2003 3 147 inlägg Ingen lokal, server hostar cs.nu nordichardware osv, så det är nog inga inställningar som strular...
Tack ändå
Mvh
Matte Medlem sedan aug. 2000 2 975 inlägg Jag menade inte att du hade felaktiga inställningar, utan vad jag menade var att när man håller på att utveckla så är det bra om man får alla felmeddelande och notiser utskrivna. Då hade du direkt fått besked om var någonstans du hade ditt fel.
Du kan göra detta genom att i skriptets början lägga följande:
error_reporting(E_ALL);
ini_set("display_errors", "1");
När allt fungerar som det ska kan du ta bort dessa rader.
M Melea Medlem sedan juli 2003 3 147 inlägg Aha, wow Det hjälpte mig något enormt, tack tack!!