Fragen zum Ausführen von MySQL-Abfragen mit php

Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

So: etwas genauer:
der erste Code war (als Ausschnitt):
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
            $sql 
"
                SELECT (Vok_ID, Lektion, lat_Vok)
                FROM " 
USER_VOK_TABLE "
                WHERE User_ID = '" 
$userdata['user_id'] . "'
                ORDER BY Vok_ID;"
;
            
$result mysql_query($sql) OR die(mysql_error());

            if( !(
$result) )
            {
                
message_die(GENERAL_ERROR'Could not query users'''__LINE____FILE__$sql);
            };
?>


Dann änderte ich den Code in
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
            $sql 
"
                SELECT (Vok_ID, Lektion, lat_Vok)
                FROM " 
USER_VOK_TABLE "
                WHERE User_ID = '" 
$userdata['user_id'] . "'
                ORDER BY Vok_ID;"
;
            
$result mysql_query($sql);

            if( !(
$result) )
            {
                
message_die(GENERAL_ERROR'Could not query users'''__LINE____FILE__$sql);
            };
?>

Und folgende Felermeldung kam:
Code:
Could not query users

DEBUG MODE

SQL Error : 1241 Operand should contain 1 column(s)

SELECT (Vok_ID, Lektion, lat_Vok) FROM phpbb_user_voks WHERE User_ID = '2' ORDER BY Vok_ID;

Line : 87
File : vokabel.php

Das heißt, $result ist nicht vorhanden, bzw. mysql_query($sql) hat nicht funktioniert!
Warum?
25 Feb 2006 15:47
David
Administrator

Beitrag Antworten mit Zitat

Ich weiß nicht, ob es daran liegt, probiere aber mal das hier (ich habe die Klammern entfernt)

PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
            $sql 

                SELECT Vok_ID, Lektion, lat_Vok 
                FROM " 
USER_VOK_TABLE 
                WHERE User_ID = '" 
$userdata['user_id'] . "' 
                ORDER BY Vok_ID;"

            
$result mysql_query($sql); 

            if(!
$result
            { 
                
message_die(GENERAL_ERROR'Could not query users'''__LINE____FILE__$sql); 
            }; 
?>

_________________
MfG David Mirzoian
axinio Internet Marketing - professionelle Suchmaschinenoptimierung
25 Feb 2006 15:57
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

Du hast recht!
Es lga nur an den Klammern!! Shocked
25 Feb 2006 16:34
V4hn
Moderator

Beitrag Antworten mit Zitat

logisch...
du willst die einzelnen Spalten mit den Klammern ja zu einer zusammenfassen... Rolling Eyes

_________________
25 Feb 2006 16:50
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

Aber bei VALUES gibt man die Felder auch in einer Klamer an!
Deshalb dachte ich, dass man das bei SELECT auch machen könnte; aber daran sieht man, dass ich bi MySQL noch ein N00b bin
25 Feb 2006 18:00
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

Kann man für MySQL-Befehle bei WHERE auch so etwas wie den %-Operator bei php nutzen?
Also beispielsweise:
SELECT *
FROM wasweiß.ich
WHERE ID % 2 LIKE '0';
und dann, wenn ID (ohne Rest) durch 2 teilbar ist, soll der Datensatz genommen werden.

Gibt es so eine Funktion?
27 Feb 2006 12:11
V4hn
Moderator

Beitrag Antworten mit Zitat

Code:
SELECT *
FROM wasweiß.ich
WHERE (ID % 2) = 0;

müsste funktionieren so... Smile

_________________
27 Feb 2006 12:54
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

Wie kann man bei INSERT INTO den Wert null eingeben lassen?

ich habe nur leider das ganze in einer Schleife, sodass ich das Feld nicht einfach frei lassen kann;
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
        
for($i ; (isset($insert_vok[$i]['lat_Vok'])) ; $i++){
            
$vok_sql "
                INSERT INTO " 
$table_prefix "vokabeln
                (
                    Lektion,
                    lat_Vok,
                    Zusatz1,
                    Zusatz2,
                    Zusatz3,
                    ger_Vok1,
                    ger_Vok2,
                    ger_Vok3,
                    ger_Vok4,
                    ger_Vok5
                )
                VALUES
                (
                    '"
.$insert_vok[$i]['Lektion']."',
                    '"
.$insert_vok[$i]['lat_Vok']."',
                    '"
.$insert_vok[$i]['Zusatz1']."',
                    '"
.$insert_vok[$i]['Zusatz2']."',
                    '"
.$insert_vok[$i]['Zusatz3']."',
                    '"
.$insert_vok[$i]['ger_Vok1']."',
                    '"
.$insert_vok[$i]['ger_Vok2']."',
                    '"
.$insert_vok[$i]['ger_Vok3']."',
                    '"
.$insert_vok[$i]['ger_Vok4']."',
                    '"
.$insert_vok[$i]['ger_Vok5']."'
                )"
;
            
mysql_query($vok_sql);
        };
?>

ist das skript, dass die Felder erstellt;
die Variablen werden seperat zugewiesen; nur wenn ich jetzt eine Variable habe; was muss ich ihr als Wert geben, damit in der Tabelle alsWert NULL (nicht als Int-Zahl oder String) steht?
weglassen hat nicht funktioniert; NULL ohne Anführungszeichen hat auch nicht funktioniert...
01 März 2006 18:43
V4hn
Moderator

Beitrag Antworten mit Zitat

Hm, es sollte eigendlich funktionieren mit NULL ohne Anführungszeichen, wenn du beim erstellen der Tabelle das jeweilige Feld nicht mit NOT_NULL deklariert hast...
aber ich glaube ich hab deinen Fehler:
selbst wenn du eine Variable mit NULL einfügst kommen noch zwei einfache Anführungsazeichen drum rum, wenn der Query ausgeführt wird...
dann müsstest du das anders machen...
PHP-Code:
1
2
3
<?php
                    $insert_vok
[$i]['Lektion'] = is_string($insert_vok[$i]['Lektion']) ? "'".$insert_vok[$i]['Lektion']."'" $insert_vok[$i]['Lektion'] ;
?>

wenn du das mit jeder Variblen machst, bevor sich der Query zusammensetzt, und im Query die einfachen Anführungszeichen('".Varibale."') wegmachst, sollte es gehen...

_________________
02 März 2006 08:56
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  

Ähnliche Beiträge
Thema Webmaster Forum Antw. Autor Verfasst am
Keine neuen Beiträge Allgemeine Fragen zu Website Hilfe für Webmaster 3 Admin88 11 Nov 2011 13:25 Letzten Beitrag anzeigen
Keine neuen Beiträge Homepagetotal/ PHP&MYSQL Tutorial PHP / MySQL 6 userxy 01 Nov 2011 15:30 Letzten Beitrag anzeigen
Keine neuen Beiträge MySQL-Backup zurückspielen gibt Fehle... PHP / MySQL 5 MGoldi 27 Jul 2011 17:12 Letzten Beitrag anzeigen
Keine neuen Beiträge Mysql Abfrageproblem - Stichwort Fuss... PHP / MySQL 1 erbswurst 04 Jul 2011 18:32 Letzten Beitrag anzeigen
Keine neuen Beiträge Question answering script, automatisc... Small Talk 0 hey1hey2hey 19 Apr 2011 17:38 Letzten Beitrag anzeigen