|
Problem mit PHP
|
|
12.08.2004, 14:32
Beitrag: #11
|
|||
|
|||
|
Kann es sein das dein Tabellenname nicht stimmt? Oder das die Inhalte nicht stimmen? Also das es kein News, Header ... gibt?
PS: Schreib mal hinter mysql_query($sql); folgendes [php:1]mysql_query($sql) OR die(mysql_error());[/php:1] Sag was dann da steht. |
|||
|
12.08.2004, 16:35
Beitrag: #12
|
|||
|
|||
|
Der hat mir gesagt, das die Datenbank nicht da is, habe dann in der install.php nachgeschaut und gesehen, das dort die Tabelle news und nicht News erstellt wurde...
Also funzt jetzt alles, danke dir Virus. |
|||
|
12.08.2004, 16:51
Beitrag: #13
|
|||
|
|||
|
Jo es sind immer die kleinen Dinge die einen manchmal zur Verzweiflung bringen können. ^^
|
|||
|
12.08.2004, 20:56
Beitrag: #14
|
|||
|
|||
|
So, das nächste Problem steht an, welches ich nicht gelöst bekomme.
ich möchte mit einem php Script zwei Tabellen in der Datenbank erstellen, die erste Tabelle wird erstellt, aber dann kommt diese Fehlermeldung und ende is. Fehlermeldung: 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 '; CREATE TABLE `Kommentare` ( `ID` INT NOT NULL AUTO_INCREMENT hier is mal der Code der Datei... [php:1] <?php //install.php include("config.php"); $db_link= @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); if($db_link){ if(mysql_select_db(MYSQL_DATABASE)){ mysql_select_db(MYSQL_DATABASE); $sql = "CREATE TABLE `News`( `ID` INT NOT NULL AUTO_INCREMENT, `Header` VARCHAR(50) NOT NULL, `News` TEXT NOT NULL, `Datum` DATETIME, PRIMARY KEY (`ID`) ); CREATE TABLE `Kommentare` ( `ID` INT NOT NULL AUTO_INCREMENT ,' . ' `News_ID` INT NOT NULL ,' . ' `Name` VARCHAR( 50 ) NOT NULL ,' . ' `aMail` VARCHAR( 50 ) NOT NULL ,' . ' `Kommentar` TEXT NOT NULL ,' . ' `Datum` DATETIME NOT NULL ,' . ' PRIMARY KEY ( `ID` ) )'; "; mysql_query($sql) OR die(mysql_error()); echo"installation erfolgreich.<br> "; echo"Bitte löschen sie die Datei install.php"; } mysql_close(); }else{ echo"Verbundung zur Datenbank konnte nicht hergestellt werden."; echo"Bitte korrigieren sie die ihre Eingaben in der config.php"; } ?> [/php:1] die erste Tabelle wird ja noch erstellt, nur die zweite nicht... habe schon verschiedene Möglilchkeiten versucht, aber nüscht is. Den Befehl habe ich mir von phpmyadmin erstellen lassen und es kommt trozdem eine Fehlermeldung. |
|||
|
12.08.2004, 23:40
Beitrag: #15
|
|||
|
|||
|
So, das Problem wurde mit PHP-Mastas hilfe (im IRC Channel) gelöst.
@Znay kannst den funktionierenden Code posten, damit man weiss was falsch war? . |
|||
|
12.08.2004, 23:52
Beitrag: #16
|
|||
|
|||
|
Klar
[php:1] <?php //install.php include("config.php"); $db_link= @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); if($db_link){ if(mysql_select_db(MYSQL_DATABASE)){ mysql_select_db(MYSQL_DATABASE); $sql = "CREATE TABLE `News`( `ID` INT NOT NULL AUTO_INCREMENT, `Header` VARCHAR(50) NOT NULL, `News` TEXT NOT NULL, `Datum` DATETIME, PRIMARY KEY (`ID`) );"; $sql2="CREATE TABLE `Kommentare` ( `ID` INT NOT NULL AUTO_INCREMENT , `News_ID` INT NOT NULL , `Name` VARCHAR( 50 ) NOT NULL , `aMail` VARCHAR( 50 ) NOT NULL , `Kommentar` TEXT NOT NULL , `Datum` DATETIME NOT NULL , PRIMARY KEY ( `ID` ) ); "; mysql_query($sql) OR die(mysql_error()); mysql_query($sql2) OR die(mysql_error()); echo"installation erfolgreich.<br> "; echo"Bitte löschen sie die Datei install.php"; } mysql_close(); }else{ echo"Verbundung zur Datenbank konnte nicht hergestellt werden."; echo"Bitte korrigieren sie die ihre Eingaben in der config.php"; } ?> [/php:1] Also wer nicht von selbst drauf kommt, man kann Pro mysql_query(); nur einen Befehl asuführen, also uss man 2 querys machen. So werden dann auch beide Tabellen erstellt. |
|||
|
13.08.2004, 06:55
Beitrag: #17
|
|||
|
|||
|
Richtig.
Nur hab ich da eine Sache zum einwenden. Folgendes. Stelle dir mal vor du willstn die Tabellen anlegen. Jetzt passiert da ein Fehler, Tabelle 1 ($sql) wird nicht angelegt. Da wird dann eine Meldung ausgegeben und hinzu auch die Meldung das die Installation erfolgreich war. Ein Leihe sieht die erste Fehlermeldung, weiß nicht was das soll und sieht unten dann "installation erfolgreich." und denkt sich ok, alles roger. So ist es aber nicht, in Wirklichkeit wurde nur die 2. Tabelle hinzugefügt und die erste nicht. Dafür kann man sich ein Script baun das überprüft ob die Tabellen hinzugefügt wurden. |
|||
|
13.08.2004, 11:17
Beitrag: #18
|
|||
|
|||
|
stimmt, da hast du recht. aber is dafür nicht das OR die(mysql_error())
![]() Wenn nicht würde ich mich einmeal sehr über eine erklärung für das OR die(mysql_error()) freuen und über ein Script, welches prüft ob die Tabelle erstellt wurde. Mfg. Znay |
|||
|
13.08.2004, 16:22
Beitrag: #19
|
|||
|
|||
|
Dieses hilft dir, also als Programmierer, anzuzeigen ob eine Fehler aufgetreten ist. Ein Leihe kann mit dieser Fehlermeldung aber nichts anfangen, ersten ist es englisch und zweitens hat diese Person keine Ahung von dem was da steht. Nich alle aber viele. So nur für dich als Programmierer brauchste keine Kontrolle ob die Tabellen wirklich angelegt wurden, solltest du aber für die Zukunft Scripte schreiben, die du zum Download bereit stellst, solltest du kontrollieren lassen ob wirklich alles angelegt wurde.
Das Script welches kontrolliert ob alles richtig angelegt ist, musst du dir selber schreiben. Es gibt keine Funktion in PHP dafür. Man könnte das zwar so schreiben, dass du alles was in dieser Tabelle steht auslesen willst, ist die Tabelle aber nicht vorhanden gibt es noch eine Fehlermeldung. Ich such mal bei mir die Ordner und CD's durch, ich hatte mir mal eine Funktion gebastelt die das kann. Werde sie posten wenn ich sie gefunden hab. Kann aber dauern da die in irgendeinem Script drin ist. Nachträglich: Habse gefunden. [php:1] function check_table($table) { $status = FALSE; $sql = mysql_query("SHOW TABLES") OR die(mysql_error()); while($ergebnis = mysql_fetch_array($sql)) { if ($ergebnis[0] == $table) $status = TRUE; } return $status; } if(check_table(*****) == TRUE) echo 'Tabelle ist vorhanden'; else echo 'Tabelle ist nicht vorhanden'; [/php:1] Fragen?
|
|||
|
|
| Möglicherweise verwandte Themen... | |||||
| Thema: | Verfasser | Antworten: | Ansichten: | Letzter Beitrag | |
| flash + php = Problem | loewenzahn | 2 | 217 |
29.12.2007 12:32 Letzter Beitrag: loewenzahn |
|
| Problem mit Captcha | Freshmaker_01 | 23 | 545 |
26.11.2006 00:44 Letzter Beitrag: ~Christian |
|
| Problem mit Uploadscript | Takedown | 3 | 321 |
28.02.2006 08:35 Letzter Beitrag: Takedown |
|
| [PHP] mkdir Problem | Takedown | 11 | 628 |
27.01.2006 16:43 Letzter Beitrag: Takedown |
|
| [PHP] Login Script Problem | XuRaX | 17 | 810 |
17.01.2006 08:30 Letzter Beitrag: Virus |
|
| Problem mit: PHP-SWITCH | styleCoder | 2 | 372 |
15.09.2005 09:51 Letzter Beitrag: Virus |
|
| navigieren mit indes.php?action=... (switch) problem | Novadis | 7 | 403 |
31.05.2005 14:18 Letzter Beitrag: e-phy |
|
| Riesen problem und keine lösung in sicht ! include() | Novadis | 7 | 341 |
28.04.2005 16:58 Letzter Beitrag: ~Christian |
|
| Problem mit Where Klausel bei Join | White | 2 | 252 |
25.03.2005 20:20 Letzter Beitrag: White |
|
| Problem mit Scripte von Osmodia | rene | 2 | 240 |
17.02.2005 13:33 Letzter Beitrag: Freshmaker_01 |
|





![[Bild: confused.gif]](http://ballz.de/eyeboard/images/smilies/confused.gif)