Mysql query vanuit een $_POST variable werkt niet
Ik wil een lijst met gebruikers weergeven in mijn admin menu, maar aangezien ik de enige ben die het gaat beheren, wil ik ook m'n MySQL query kunnen bewerken vanuit deze pagina.
Daarvoor dacht ik een formulier te kunnen gebruiken die hij dan post en vervolgens uitvoert, maar dit blijkt niet zo goed te werken.
Want als ik de volgende query post:
- SELECT naam FROM nos_users WHERE naam='Gerard Nijboer'
Dan krijg ik het volgende terug:
- SELECT naam FROM nos_users WHERE naam=\'Gerard Nijboer\'
En vervolgens geeft ie een MySQL error
Kortom, hij is niet helemaal tevreden met de quotes.
Iemand een idee hoe ik dit op kan lossen?
Bij voorbaat dank!
stripslashes().
Ik krijg alleen na het uitvoeren van de volgende query:
- SELECT naam FROM nos_users WHERE naam="Gerard Nijboer"
Het volgende terug:
- SELECT naam FROM nos_users WHERE naam=
Het resultaat klopt wel, maar de return query niet.
Is daar ook een oplossing voor?
Maar je krijgt het terug..... terug van wat?
Aangezien hij het post naar zichzelf en vervolgens de query uitvoert, laad ik de $_POST var direct weer in het formulier
Via dat formulier krijg ik dus terug wat ik de vorige keer heb gepost
En hoe ziet dat formulier er uit? En hoe haal je het op na posten en wat doe je er vervolgens mee?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<? //Unquote string
$_POST[nos_admin_mysql_query] = stripslashes($_POST[nos_admin_mysql_query]);
?>
<? //Set a query if no query was posted
if (!$_POST[nos_admin_mysql_query])
{
$_POST[nos_admin_mysql_query] = "SELECT * FROM `".$nos_mysql_pref."users` ORDER BY `created` DESC";
}
?>
<form action="" method="post" name="users">
<input type="text" name="nos_admin_mysql_query" value="<? echo $_POST[nos_admin_mysql_query];?>" size="100" style="font-style:normal; "/> <input type="submit" class="button" value="Verzenden" name="nos_submit" />
</form>
EN HIER DE AFHANDELING VAN DE UITGEVOERDE QUERY
$_POST[nos_admin_mysql_query] = stripslashes($_POST[nos_admin_mysql_query]);
?>
<? //Set a query if no query was posted
if (!$_POST[nos_admin_mysql_query])
{
$_POST[nos_admin_mysql_query] = "SELECT * FROM `".$nos_mysql_pref."users` ORDER BY `created` DESC";
}
?>
<form action="" method="post" name="users">
<input type="text" name="nos_admin_mysql_query" value="<? echo $_POST[nos_admin_mysql_query];?>" size="100" style="font-style:normal; "/> <input type="submit" class="button" value="Verzenden" name="nos_submit" />
</form>
EN HIER DE AFHANDELING VAN DE UITGEVOERDE QUERY
En haal de backtics uit je query, die horen daar niet.
Ik heb gevonden wat het was geloof ik.
Al mijn $_POST[] en $_SESSION[] variables stonden zonder quotes tussen de haakjes [ ], en daar gaf ie een hoop errors van.
Nu ik dit heb aangepast lijkt het te werken.
Thanks!
Succes verder.