nathanb Posted March 3, 2006 Share Posted March 3, 2006 Hi, I am editing a script and sometimes this query works and sometimes it does not. Here is the particular code that is (sometimes) malfunctioning:[code]if (($_POST['description']!='DEBUG')||(!in_array('DEBUG', $_POST))) $query1 = mysql_query("INSERT INTO countdowns (`creator`, `creationdate`, `countdowndate`, `type`, `description`, `private`, `timezone`, `special`, `specialinfo`) VALUES ('$creator', '$creationdate', '$countdowndate', '".($tag=='official'?'official':'user')."', '$description', '$private', '$ctimezone', '$special', '$specialinfo')");[/code]In a working case, the variables include something like this:[code]$creator = '1';$creationdate = '1141347209';$countdowndate = '1141362000';$description = "rarw";$private = '1';$timezone = 'GMT-5';$special = '';$specialinfo = '';[/code]and it goes through as expected as it always did. Another working case is this:[code]$creator = '1';$creationdate = '1141347209';$countdowndate = '1141362000';$type = '';$description = "So and so.. Auction Ends";$private = '1';$timezone = 'GMT-5';$special = 'ebay';$specialinfo = '4437837371';[/code]But this and others do not work:[code]$creator = '1';$creationdate = '1141347209';$countdowndate = '1141362000';$description = "Jim's 1st Anniversary";$private = '1';$timezone = 'GMT-5';$special = 'anniversary of marriage';$specialinfo = '1st|Jim';[/code]The $query1 variable appears to be null, but it shouldn't. mysql_error() says that it is not a valid MySQL Link Resource.. Note that this doesn't happen in the above working cases.Any ideas? Thanks in advance! Link to comment https://forums.phpfreaks.com/topic/3967-mysql-query-problem/ Share on other sites More sharing options...
ryanlwh Posted March 3, 2006 Share Posted March 3, 2006 the error was because of an apostrophe in the following string:[code]$description = "Jim's 1st Anniversary";[/code]Your server doesn't addslashes to post values automatically. one option is to set the php.ini directive magic_quotes_gpc to "on", or use the following script to clean up description[code]if(!get_magic_quote_gpc()){ $_POST['description'] = addslashes($_POST['description']);}//produces: Jim\'s 1st Anniversary[/code]the following script will addslashes to all post values (except arrays)[code]foreach($_POST as $k=>$v){ $_POST[$k] = !get_magic_quote_gpc() ? addslashes($v) : $v;}[/code] Link to comment https://forums.phpfreaks.com/topic/3967-mysql-query-problem/#findComment-13764 Share on other sites More sharing options...
nathanb Posted March 3, 2006 Author Share Posted March 3, 2006 Ack! I knew it was going to be something simple like that! Thank you!And, luckily, it looks like the rest of the site is already adapted for the slashes, this was just a minor oversight. Link to comment https://forums.phpfreaks.com/topic/3967-mysql-query-problem/#findComment-13767 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.