• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysql_querys funktionieren nich in functions

Status
Für weitere Antworten geschlossen.

Joda1994

Neues Mitglied
hi,
mir wurde gesagt, dass ich mir meine querys vereinfachen soll, da ich die ziemlich oft benutze. hier wie ich es gemacht habe.
PHP:
function escape($escaping_var)
{
	return "'" . mysql_real_escape_string($escaping_var) . "'";
}
function query_id_update($table, $column_update, $new_entry, $column_id, $id)
{
	return mysql_query("UPDATE $table SET $column_update = $new_entry WHERE $column_id = $id") or die(mysql_error());;
}

function query_select($column_select, $table)
{
	return mysql_query("SELECT $column_select FROM $table") or die(mysql_error());
}

function query_id_select($column_select, $table, $column_id, $id)
{
	return mysql_query("SELECT $column_select FROM $table WHERE $column_id = $id") or die(mysql_error());
}

function query_id_delete($column_delete, $column_id, $id)
{
	return mysql_query("DELETE $column_delete FROM $table WHERE $column_id = $id") or die(mysql_error());
}
das is jez für alle möglichen querys. bei der fürs einloggen dann, da wo diese funcs als erstes vorkommen kam gleich ein fehler. so wie ich es gemacht habe:
PHP:
	$query = query_id_select("*", "`users`", "`name`", escape($_POST["username"]));
	$row = mysql_fetch_assoc($query);
es kam natürlich der übliche fehler bei $row. "Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programme\XAMPP\htdocs\joda\login.php on line 24" Die query funzt aber ohne function prima. was is denn hierdran so anders und verursacht den fehler???
 
Werbung:
versuchs einfach zu trennen das problem hatte ich auch schon oft...

erst query bilden, dann query durchführen, dann zurückgeben

Code:
function query($a, $b, $c, $d, $error=false)
{
    $q = "SELECT ".$a." FROM `".$b."` WHERE `".$c."` = '".$d."'";
    $q = mysql_query($q) or die( (error ? mysql_error() : 'Du bekommst keine infos...') );
    return $q;
}

ist zudem auch übersichtlicher... ^^ aber wo da wirklich das problem liegt weiß ich nicht...
 
ich glaube das liegt unter Umständen auch mit am $link_identifier.
Ich würde einfach mal versuchen den mit zu übergeben oder global verfügbar machen.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben