16. marts 2004 - 08:43
Der er
5 kommentarer og 1 løsning
Database error
Hej Jeg får følg error: You have an error in your SQL syntax near ''nyhed', 'x', '')' at line 1 Hvis, der ingen fejl er, og der skal indsættes noget i min database i følg script: <? if(!isset($_SESSION['user'])) { include("include/login/needlogin.php"); } else { $udfyld = "<div class='red'>Du skal udfylde dette felt</div>"; $overskrift = $_REQUEST['overskrift']; $nyhed = $_REQUEST['nyhed']; if(!isset($_REQUEST['submit'])) { $udfyld_overskrift = ""; $udfyld_nyhed = ""; $red_overskrift = ""; $red_end_overskrift = ""; $red_nyhed = ""; $red_end_nyhed = ""; $fejl = ""; } else { $red = "<div class='red'>"; $red_end = "</div>"; if($overskrift == "") { $udfyld_overskrift = $udfyld; $red_overskrift = $red; $red_end_overskrift = $red_end; $fejl = "fejl"; $skriv_overskrift = "$overskrift"; } else { $udfyld_overskrift = ""; $red_overskrift = ""; $red_end_overskrift = ""; $skriv_overskrift = ""; } if($nyhed == "") { $udfyld_nyhed = $udfyld; $red_nyhed = $red; $red_end_nyhed = $red_end; $fejl = ""; $skriv_nyhed = "$nyhed"; $fejl = "fejl"; } else { $udfyld_nyhed = ""; $red_nyhed = ""; $red_end_nyhed = ""; $skriv_nyhed = ""; } if(isset($fejl)) { echo ""; } else { $id = microtime(); mysql_connect("localhost", "root"); mysql_Select_db("slumkum"); $navn = $_SESSION['user']; $query_mail = mysql_query("select mail from users where navn = '$navn'"); $mail = $row['mail']; $dato = date("d-m-Y k\l. H:i:s"); $query_insert = mysql_query("INSERT INTO nyheder (id, dato, nyhed, overskrift, mail, navn) VALUES ('$id', '$dato', $'nyhed', '$overskrift', '$mail')") or die(mysql_error()); header("location:192.168.1.240/index2.php"); } } $self = $_SERVER['REQUEST_URL']; ?> <form action="<? echo "$self"; ?>" method="post"> Her kan du tilføje nyheder<p /> <div class="bold">Overskrift</div> <input type="text" name="overskrift" /><? echo "$udfyld_overskrift"; ?><p /> <div class="bold">Nyhed</div><textarea name="nyhed" rows="10" cols="40"/></textarea><? echo "$udfyld_nyhed"; ?><p /> <input type="submit" name="submit" value="Tilføj"> </form> <? } ?> Mine kolonner i tabellen nyheder ser således ud: +------------+------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------+------+-----+---------+-------+ | id | text | YES | | NULL | | | dato | text | YES | | NULL | | | nyhed | text | YES | | NULL | | | overskrift | text | YES | | NULL | | | rediger | text | YES | | NULL | | | mail | text | YES | | NULL | | | navn | text | YES | | NULL | | +------------+------+------+-----+---------+-------+ Hvad gør jeg forkert, og hvorfor får jeg denne fejlmedd.?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
16. marts 2004 - 08:47
#1
$'nyhed' skal være '$nyhed' Så din linie $query_insert = mysql_query("INSERT INTO nyheder (id, dato, nyhed, overskrift, mail, navn) VALUES ('$id', '$dato', $'nyhed', '$overskrift', '$mail')") or die(mysql_error()); Skal være $query_insert = mysql_query("INSERT INTO nyheder (id, dato, nyhed, overskrift, mail, navn) VALUES ('$id', '$dato', '$nyhed', '$overskrift', '$mail')") or die(mysql_error());
16. marts 2004 - 08:51
#2
Nu har jeg rettet det, men modtager nu følg fejlmedd: Column count doesn't match value count at row 1
16. marts 2004 - 08:53
#3
Du har glemt $navn i din value liste $query_insert = mysql_query("INSERT INTO nyheder (id, dato, nyhed, overskrift, mail, navn) VALUES ('$id', '$dato', '$nyhed', '$overskrift', '$mail', '$navn')") or die(mysql_error());
16. marts 2004 - 09:00
#4
nu tilføjer den nyheden til databasen, men nu modtager jeg denne fejlmedd: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/jakob/sider/include/nyheder/forside.php on line 19 forside.php ser således ud: <? mysql_connect("localhost", "root"); mysql_select_db("slumkum"); $result_query = mysql_query('select * from nyheder') or die(mysql_error()); $number = mysql_num_rows($result_query); if($number < 1) { echo "Der er ikke tilføjet nogle nyheder."; } else { $id = $row['id']; $navn = $row['navn']; $mail = $row['mail']; $overskrift = nl2br($row['overskrift']); $nyhed = nl2br($row['nyhed']); $rediger = $row['rediger']; $result_rediger = mysql_query("select rediger from users where id='$id'"); $number_rediger = mysql_num_rows($result_rediger); // Linje 19 while($row = mysql_fetch_array($result_query)) { echo "<div class='nyheder'>"; // Nyheder (gennemgående) echo "<div class='nyheder_info'>"; // Nyhedsinfo echo "<div class='info_forfatter'><skrevet af <a mailto:$mail>$navn</a></div>"; // Forfatter echo "<div class='dato'>$dato <p /></div></div>"; // dato echo "<div class='nyhed_overskrift'>$overskrift <p /></div>"; // Overskrift echo "$nyhed"; // Nyhed if($number_rediger > 0) { echo "<div class='nyheder_info'>Redigeret af: <div class='nyhed_overskrift'>$rediger</div></div>"; } else { echo ""; } if(isset($_SESSION['user'])) { echo "<p /><a href='.../index2.php?side=rediger&id=$id>Rediger</a> <a href='.../index2.php?side=slet&id=$id'>Slet</a></div"; } else { echo ""; } echo "</div>"; // Slutter nyheder (gennemgående) } } ?>
16. marts 2004 - 09:04
#5
Hmm, var det ikke noget med ét spørgsmål pr. side ? :) Prøv at udskifte $result_rediger = mysql_query("select rediger from users where id='$id'"); med $result_rediger = mysql_query("select rediger from users where id='$id'") or die(mysql_error()); så du får en fejlmeddelelse ud - du kan sikkert udfra fejlmeddelelsen finde ud af hvad problemet er
16. marts 2004 - 17:08
#6
$result_query = mysql_query("SELECT * FROM `nyheder`") or die(mysql_error());
Vi tilbyder markedets bedste kurser inden for webudvikling