Hallo,

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!
[php]stripslashes[/php]().
Dat geeft inderdaad wel een goed resultaat!
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?
Dat is de variabele $_POST[query] die wordt verzonden via het formulier waar ik de query op in kan voeren
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?
Een paar stukjes uit m'n code:


<?	//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; "/>&nbsp;<input type="submit" class="button" value="Verzenden" name="nos_submit" />
</form>

EN HIER DE AFHANDELING VAN DE UITGEVOERDE QUERY
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
En haal de backtics uit je query, die horen daar niet.
Sorry van de backticks, was ik vorige keer ook al op gewezen maar moet ze er nog steeds uit gooien.

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!
Ik had dat reeds gezien, vandaar mijn post, maar je kunt er beter zelf achter komen, dan onthou je het beter voor de volgende keer.
Succes verder.

Reageren