MySQL-Abfrage-Problem

hab1cht

Erfahrenes Mitglied
Hallo Leute,
ich find einfach den Fehler nicht, könnt ihr mir mal bitte helfen.
Hier der Code:
PHP:
<?php
$host = "localhost";
$user = "***";
$pass = "***";
$database = "hallo";
$table = "tabelle";
$fach = "mathe";
$db = mysql_pconnect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database, $db) or die (mysql_error());

function hallo($fach, $klasse){
	$sql = "SELECT * FROM $table WHERE `klasse` = $klasse AND 'fach' = $fach";
	$result = mysql_query($sql);
	while ($row = mysql_fetch_array($result)){
		$wert = $row['text'];
		echo $wert;
	}
}
	


switch ($_GET["inc"]){
	case "10":
	hallo("mathe", "10");

}
Folgender Fehler kommt:
Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\xampp\htdocs\mathe.php
 
Auch in MySQL müssen Zeichenketten als Zeichenketten deklariert werden. Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen hingegen werden anders ausgezeichnet. Probier mal Folgendes:
PHP:
<?php

	$db = mysql_pconnect('localhost', '***', '***')
		or die(mysql_error());
	mysql_select_db('hallo', $db)
		or die(mysql_error());

	$table = 'tabelle';


	function hallo($fach, $klasse)
	{
		$return = '';
		$query = '
			SELECT
			        `text`
			  FROM
			        `'.$GLOBALS['tabelle'].'`
			  WHERE
			        `klasse` = "'.mysql_real_escape_string($klasse).'"
			    AND `fach`   = "'.mysql_real_escape_string($fach).'"
			';
		$result = mysql_query($query)
			or die(mysql_error());
		while( $row = mysql_fetch_assoc($result) ) {
			$return .= $row['text'];
		}
		return $return;
	}


	switch( $_GET['inc'] ) {
		case '10':
			echo hallo('mathe', '10');
	}

?>
 
Schau dir lieber noch die Veränderungen an und versuche sie zu verstehen bevor du meinen Vorschlag einfach übernimmst.
 
Zurück