mysql abfrage problem

new

Grünschnabel
Hallo

Ich versuche mich an einer MySQL-Abfrage. Suche seit ca. 1 Stunde den Fehler, konnte aber nichts finden. Ich habe folgendes Problem:

Über ein Formularfeld suche ich nach Begriffen in einer DB. Führe ich die Suche aus, erzeugt der Code diesen Fehler

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ../Unbenannt-1.php

Ich seh nicht mehr durch..

Code:
Code:
<?php

$con = mysql_connect("localhost", "admin", "admin123");
if (!con)
	{
	die("Verbindung fehlgeschlagen" . mysql_error());
	}
	
$ergebnis = $_POST["ergebnis"];
$sql = mysql_query("SELECT * FROM test WHERE seriennr LIKE ['%$ergebnis%'] OR modell LIKE ['%$ergebnis%'] OR fehlerbeschr LIKE ['%$ergebnis%']");

while ($row = mysql_fetch_array($sql))
		{
			echo 'ID: '.$row['id'];
			echo '<br/> Seriennummer: '.$row['seriennr'];
			echo '<br/> Modell: '.$row['modell'];
			echo '<br/> Fehlerbeschreibung: '.$row['fehlerbeschr'];
		}

mysql_close();

?>

Bitte gebt mir einene Rat, Danke.


PS ja, ich bin Anfänger ;)
 
Wozu hast du die [] innerhalb deines SQLs?
Als Test, vergessen wieder zu löschen..

Debug Queries:
Habe ich gemacht. Habe gesehen, dass ich beim Verbindusngsaufbau ein $ vergessen habe. Weiter bringt es mir die gleiche Meldung in Codezeile 12.
 
Und? Wie sieht das generierte SQL aus?
Wie ist die Fehlermeldung im phpMySAdmin wenn du dort das generierte SQL testet?
Was gibt die Fehlermeldung bei 'or die()' des mysql_query in zusammenhang mit dem error_reporting(E_ALL); und ini_set('display_errors', 1); aus?
 
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Unbenannt-1.php on line 14

Query was empty
 
Also hast du dein SQL nicht gemäss Tutorial mit phpMyAdmin oder etwas ähnlichem getestet.
Auch die Error-Meldungen hast du nicht gemäss Tutorial eingeschaltet. Ansonsten käme der Fehler inkl. Details bereits bei mysql_query().

Nun, mit den mit vorliegenden Information ist es mir unmöglich dir zu helfen. Ich kann nur folgendes sagen:
Wenn alle Feld- und Tabellennamen stimmen und wenn $ereignis sauber abgefüllt und wenn die connection funktioniert, dann müsste es so gehen.

Wie du dies Sicherstellen kannst ob da irgendwo der Fehler ist -> du hast den Link zum Tutorial. Alles hier wiederholen tu ich nicht.
 
Code:
$ergebnis = $_POST["ergebnis"];
$sql = mysql_query("SELECT * FROM test WHERE seriennr LIKE '%$ergebnis%' OR modell LIKE '%$ergebnis%' OR fehlerbeschr LIKE '%$ergebnis%'");

echo "{$sql}<br />\n";
mysql_query($sql) or die(mysql_error());
Meldung query is empty.
Test per phpmyadmin, SELECT-Befehl scheint zu funktionieren..

entweder bin ich zu blöd und versteh die Anleitung nicht oder ****
 
nimm in der 2ten Zeile mal das mysql_query() raus.
Dann sollte $sql ein zusammengesezter SQL-String sein und nicht eine leere Ressource.
Zudem solltest du das 2te mysql_query (Zeile 5 in dienem Code-Ausschnit) einer Variabel zuweisen, damit du nachher die Ressource hast.
PHP:
$ergebnis = $_POST["ergebnis"];
//Hier hab ich mal das mysql_query entfernt
$sql = "SELECT * FROM test WHERE seriennr LIKE '%$ergebnis%' OR modell LIKE '%$ergebnis%' OR fehlerbeschr LIKE '%$ergebnis%'";
 
echo "{$sql}<br />\n";
//Und hier die Ressource hinzugefügt
$result = mysql_query($sql) or die(mysql_error());

Und wie ist das zudammengesetzte SQL?
 
  • Gefällt mir
Reaktionen: new
Zurück