| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
BB-BF-BM Gast
|
 |
|
|
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

|
 |
|
|
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 |
|
 |
BB-BF-BM Gast
|
 |
|
|
Du hast recht!
Es lga nur an den Klammern!!  |
|
|
|
| 25 Feb 2006 16:34 |
|
 |
V4hn Moderator
|
 |
|
|
logisch...
du willst die einzelnen Spalten mit den Klammern ja zu einer zusammenfassen...  |
_________________
 |
|
|
| 25 Feb 2006 16:50 |
|
 |
BB-BF-BM Gast
|
 |
|
|
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
|
 |
|
|
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
|
|
| 27 Feb 2006 12:54 |
|
 |
BB-BF-BM Gast
|
 |
|
|
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 = 0 ; (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
|
 |
|
|
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 |
|
 |
|