blueman378 Posted December 25, 2007 Share Posted December 25, 2007 hi guys i have, <?php $action = $_GET['action']; $cat = $_GET['cat']; if ($action == "Browse") { function doSomething() { // browse script here echo "You Are Now Browsing"; } } else if ($action == "Delete") { function doSomething() { // delete script here echo "Delete Complete"; } } else if ($action == "Create") { function doSomething() { // delete script here $sql = ("INSERT INTO `game`.`gsubcat` (`cId`, `cName`) VALUES ('NULL','$cat')"); die("SQL:<br>$sql"); echo "$_GET[cat] Creation Complete"; } } else { function doSomething() { echo "No Action Specified!"; } } doSomething(); but when i run it using this url: http://localhost/admin/catprocess.php?action=Create&cat=Hello the output is SQL: INSERT INTO `game`.`gsubcat` (`cId`, `cName`) VALUES ('NULL','') any ideas? thanks Quote Link to comment https://forums.phpfreaks.com/topic/83111-sql-query-problems/ Share on other sites More sharing options...
lmktech Posted December 25, 2007 Share Posted December 25, 2007 This is because the function can not find $cat as it is set outside the functions variable scope. For a function to pickup a variable outside of its scope you need to use global before the variable inside your function. IE: function doSomething() { global $cat; // create script here $sql = ("INSERT INTO `game`.`gsubcat` (`cId`, `cName`) VALUES ('NULL','$cat')"); die("SQL:<br>$sql"); echo "$_GET[cat] Creation Complete"; } Please also note your insert statement may not work correctly with quotes around your NULL value Hope this helps. Quote Link to comment https://forums.phpfreaks.com/topic/83111-sql-query-problems/#findComment-422781 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.