php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.03.2009, 15:27  
Coldstorm
Gast
 
Beiträge: n/a
Standard Insert into Problem mit Varchar

Hi,

ich habe eine Frage zu einem INSERT INTO. Ich arbeite gerade an einem Stundenplan mit PHP.

Nun wähle ich die Stunden bei diesem Quellcode aus...

PHP-Code:
 .<br>
<h2>Stundenplan für</h2>



<?php

$col1 
"#ffffff" 
$col2 "#C0C0C0";


  echo 
"<table border=\"0\">"

?>    
<form action = "./?p=std_add" method = "post">
     <colgroup>
        <col width="165"><col width="165"><col width="165"><col width="165"><col width="165">
    </colgroup>
    <tr bgcolor="#C0C0C0">
        <th>Montag</th><th>Dienstag</th><th>Mittwoch</th><th>Donnerstag</th><th>Freitag</th>
    </tr>
    <?php 
        
for ($j=0$j<=9$j++){
        
$color = ($color == $col1) ? $col2 $col1;
            echo
"<tr bgcolor=\"$color\">";
                for (
$i=1$i<=5$i++){
                    echo
"<td>\n";
                        
$sql 'SELECT LehrerID, Name FROM baptime_lehrer'$query mysql_query($sql);
                        echo 
"<p><select size='1' name=LehrerID[]'>";
                            while (
$ds mysql_fetch_object($query)){
                                echo 
'<option value="'.$ds->LehrerID.'">'.$ds->Name.'</option>';}
                        
$sql 'SELECT FachID, Bezeichnung FROM baptime_fach'$query mysql_query($sql);
                        echo 
"<p><select size='1' name='FachID[]'>";
                            while (
$ds mysql_fetch_object($query)){
                                echo 
'<option value="'.$ds->FachID.'">'.$ds->Bezeichnung.'</option>'; }
                    echo
"</td>\n";
                }
            echo
"</tr>\n";
        }
        echo 
"</table>";
    
?>
    
    


<input type="submit" name="Submit" value="Speichern"><br><br>
</form>
<?php
$sql 
'SELECT gruppe FROM groups'$query mysql_query($sql);
                        echo 
"<p><select size='1' name=gruppe[]'>";
                            while (
$ds mysql_fetch_object($query)){
                                echo 
'<option value="'.$ds->gruppe.'">'.$ds->gruppe.'</option>';}
                                
?>
Anschließend füge ich die Daten in die Datenbank...

PHP-Code:
<?

include("../includes/db.inc.php");//Verbindung zur Datenbank herstellen
include("../includes/functions.inc.php");



$count count$_POST['LehrerID'] );
$sqlQuery = array();
for( 
$i 0$i $count$i++ )
{
    
$sqlQuery[$i] = '   INSERT INTO
                            `baptime_stundenverteilung`
                        (
                            `LehrerID`,
                            `FachID`,
                            `gruppe`
                                
                        )
                        VALUES
                        (
                            '
.$_POST['LehrerID'][$i].',
                            '
.$_POST['FachID'][$i].',
                            '
.$_POST['gruppe'][$i].'
                            
                        )
                    '

                    
            
                    
                    
                    
                    
    if( !
mysql_query$sqlQuery[$i] ) )
    {
        echo 
mysql_error()."\n";
    }
}
$sqlQuery ''// $sqlQuery leeren   
?>
Er sagt immer Syntaxfehler bei Zeile 15 oder so. Wahrscheinlich liegt es daran, dass der letzte Wert "gruppe" ein varchar(16) ist, die beiden anderen IDs sind INT... wisst ihr, warum es nicht funktioniert?

Vielen Dank im Voraus
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.03.2009, 15:38  
Erfahrener Benutzer
 
Registriert seit: 04.09.2008
Beiträge: 297
martl666 befindet sich auf einem aufstrebenden Ast
Standard

Aus deinem $_POST kommt auch das raus was du willst?

PHP-Code:
echo '<pre>' .  print_r$_POST) .  '</pre>'
ich würde die VALUES so schreiben

'{$_POST['LehrerID'][$i]}'

vielleicht hilft es ja weiter
martl666 ist offline  
Alt 01.04.2009, 08:30  
Coldstorm
Gast
 
Beiträge: n/a
Standard

Also ich glaub jetzt, wor der Fehler liegen könnte...wenn ich es teste, dann gibt er mir korrekt die zwei Arrays LehrerID und FachID aus, bei gruppe kommt nur der Syntaxfehler, zwar allerdings erst beim INSERT, aber das Problem liegt wohl schon bei dem Dropdown. Denn bei den anderen ist bei:

PHP-Code:
$sql 'SELECT gruppe FROM groups'$query mysql_query($sql);
                        echo 
"<p><select size='1' name=gruppe[]'>";
                            while (
$ds mysql_fetch_object($query)){
                                echo 
'<option value="'.$ds->gruppe.'">'.$ds->gruppe.'</option>';} 
der erste $ds->gruppe ein Smallint und der zweite ein varchar.
Bei gruppe aber sind BEIDE ein varchar(bzw. es ist ein und der selbe Wert, ich hab es nur von dem anderen kopiert und weiß es ned wie ich es ändern soll), muss ich dann irgendwas mit den " ' ´., oder was auch immer ändern?
 
Alt 01.04.2009, 08:54  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 106
Rene befindet sich auf einem aufstrebenden Ast
Standard

lass dir doch mal $sqlQuery[$i] ausgeben.. und mysql_error();
Rene ist offline  
Alt 01.04.2009, 09:17  
Coldstorm
Gast
 
Beiträge: n/a
Standard

Wenn ich das mit echo $sqlQuery[$i]; ausgebe oder so dann erscheint leider überhaupt nichts...
 
Alt 01.04.2009, 09:34  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 106
Rene befindet sich auf einem aufstrebenden Ast
Standard

hmmmm....
haste das in die for-Schleife eingebaut? am besten nach dem das query zusammengestzt wurde ausgeben lassen.
PHP-Code:
 $sqlQuery[$i] =    INSERT INTO 
                            
`baptime_ .... blabla );
      echo "Mein sqlQuery ist:".$sqlQuery
[$i]
wenn da nix kommt ist auch nix in deinem query
Rene ist offline  
Alt 01.04.2009, 09:37  
Coldstorm
Gast
 
Beiträge: n/a
Standard

Da kommt das da:

Mein sqlQuery ist: INSERT INTO `baptime_stundenverteilung` ( `LehrerID`, `FachID`, `gruppe` ) VALUES ( 1, 14, ) 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 ')' at line 15

und das halt endlos mal wiederholt...der Value wird also irgendwie ned übertragen, liegt es dann dem Dropdown wie oben schon beschrieben?
 
Alt 01.04.2009, 09:41  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 106
Rene befindet sich auf einem aufstrebenden Ast
Standard

haste dir mal den Quellcode deines formulars angesenen ? stehts gruppen value denn da im <option> ? oder ist das da vlt schon <option value=""> ?
Rene ist offline  
Alt 01.04.2009, 09:44  
Coldstorm
Gast
 
Beiträge: n/a
Standard

So:
PHP-Code:
$sql 'SELECT gruppe FROM groups'$query mysql_query($sql);
                        echo 
"<p><select size='1' name=gruppe[]'>";
                            while (
$ds mysql_fetch_object($query)){
                                echo 
'<option value="'.$ds->gruppe.'">'.$ds->gruppe.'</option>';} 
Soll ich das irgendwie umschreiben? Ich glaub es ist ein Problem, wenn gruppe und gruppe vor dem $ds-> die selben Werte sind...quasi ist ist extakt der selbe Name in der Tabelle...soll ich eins davon weglassen?
 
Alt 01.04.2009, 10:33  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 106
Rene befindet sich auf einem aufstrebenden Ast
Standard

Nicht im php-Script schauen sondern in der generierten html-seite. also im Browser den quelltext ansehen
Rene ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
insert into funktioniert nicht mafra PHP Tipps 2008 10 08.03.2008 15:38
Self Join / Nested Join ? Ich hab ne Blockade... iangillan Datenbanken 11 06.01.2008 21:37
INSERT INTO tab1 FROM tab2, aber! stefanjann Datenbanken 4 04.05.2006 15:11
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20:56
MySQL to Access - INSERT INTO zu langsam bendigo Datenbanken 0 23.11.2005 16:33
Problem mit while und insert into PHP Tipps 2005-2 6 15.08.2005 19:29
problem bei INSERT INTO ... Marc PHP Tipps 2005-2 11 08.08.2005 14:14
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
[Erledigt] Insert into ROW per Loop - Hiiilllfeee ;-) Datenbanken 5 13.11.2004 11:19
[Erledigt] Problem mit INSERT INTO befehl Datenbanken 2 04.11.2004 16:03
Insert Problem Mano PHP Tipps 2004 4 30.10.2004 22:28
Zeile einfach überspringen bei Unique-Verletzung tapferesschneiderlein Datenbanken 6 03.09.2004 14:29
INSERT INTO werte einen Array PHP Tipps 2004 3 12.07.2004 20:33
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
insert into varchar, sql insert into varchar, insert varchar, varchar insert, sql insert into php, insert into problem, sql insert varchar php 5, insert into doesnt work, php insert into varchar, http://www.php.de/php-einsteiger/53588-insert-into-problem-mit-varchar.html, varchar zu lang insert, h2 varchar insert slow, php mysql insert into doesnt work!?=, insert into values (select), php is varchar, select insert varchar, mysql insert into fehler, insert into to varchar, php insert into doesnt work, php sql insert varchar

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum