mysql like Problem

mysql like Problem

am 23.01.2005 14:14:05 von Frank Kirschner

Hall NG,

die Tabelle 'etikett' enthält die Spalte 'artnr' die als varchar(30)
definiert ist. Darin sind die Werte 100000, 100000-1, 100001 ... enthalten.
Ich möchte nun alle Werte die mit 100000 beginnen auslesen:

$sql_l = "SELECT artnr FROM etikett WHERE artnr LIKE '100000%' ";
$result_l = mysql_query($sql_l, $conn);
while ($satz_l = mysql_fetch_array($result_l, MYSQL_ASSOC)) {
echo "$satz[artnr]
";
}

Die Schleife wird nun 2x durchlaufen (soweit ja ok) aber ausgegeben wird:
100000
100000

Wenn ich den SQL-Query in PHPmyAdmin eingebe, erhalte ich:
100000
100000-1

So sollte es sein.
Wo ist mein Denkfehler?

vlg
Frank

Re: mysql like Problem

am 23.01.2005 15:53:04 von Thomas Hamacher

Frank Kirschner schrieb:

> $result_l = mysql_query($sql_l, $conn);
> while ($satz_l = mysql_fetch_array($result_l, MYSQL_ASSOC)) {
> echo "$satz[artnr]
";
^^^^^^^^^^^^
Du meinst $satz_1[artnr], wobei das durchnummerieren sicherlich unnötig
ist. mysql_fetch_array() kannst du direkt durch mysql_fetch_assoc()
ersetzen und du willst überprüfen, ob das Query wirklich erfolgreich
ausgeführt werden konnte, bevor du auf die Ergebnismenge zugreifst.

$result = mysql_query($sql, $conn);

if(!is_resource($result)) {
echo "MySQL Fehler: " . mysql_error() . "
";
exit;
}

while($satz = mysql_fetch_assoc($result)) {
echo "$satz[artnr]
";
}

Re: mysql like Problem

am 23.01.2005 17:00:55 von Frank Kirschner

Thomas Hamacher wrote:
> Frank Kirschner schrieb:
>
>> $result_l = mysql_query($sql_l, $conn);
>> while ($satz_l = mysql_fetch_array($result_l, MYSQL_ASSOC)) {
>> echo "$satz[artnr]
";
> ^^^^^^^^^^^^
> Du meinst $satz_1[artnr],

Ja logisch $satz_l[artnr],
~~
Schusselfehler!
Es ist keine Durchnummerierung. Die 1 soll ein kleines L sein.

vlg und Danke
Frank

Re: mysql like Problem

am 23.01.2005 19:54:14 von Thomas Hamacher

Frank Kirschner schrieb:
> Thomas Hamacher wrote:

>>Du meinst $satz_1[artnr],

> Ja logisch $satz_l[artnr],

> Es ist keine Durchnummerierung. Die 1 soll ein kleines L sein.

Jetzt wo du's sagst :-). Sollte vielleicht mal eine andere Schriftart
einstellen.