Uphoreum Posted July 23, 2006 Share Posted July 23, 2006 I used to know the answer to this question, but I forgot and I can't find the information again. When I use UPDATE or INSERT to put data in to a table, if that data has a space, it cuts off the string at the space. How can I stop this from happening? Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/ Share on other sites More sharing options...
trq Posted July 23, 2006 Share Posted July 23, 2006 It shouldn't happen. Can we see your code? Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/#findComment-62408 Share on other sites More sharing options...
Uphoreum Posted July 23, 2006 Author Share Posted July 23, 2006 Here's the main chunk of the first page. It's several text boxes that link to...[code]echo "<form name='favupdate' action='update.php' method='get'>";echo "Book: <input type='text' name='book' value=$row[book]>";echo "<br>";echo "Game: <input type='text' name='game' value=$row[game]>";echo "<br>";echo "Celeb: <input type='text' name='celeb' value=$row[celeb]>";echo "<br>";echo "Movie: <input type='text' name='movie' value=$row[movie]>";echo "<br>";echo "TV Show: <input type='text' name='tv' value=$row[tv]>";echo "<br>";echo "Music: <input type='text' name='music' value=$row[music]>";echo "<br>";echo "<input type='submit' value='Update'>";[/code]...this page:[code]<html><?php$con = mysql_connect("localhost","anonymous");mysql_select_db("users",$con);mysql_query("UPDATE favs SET book = '$_GET[book]' WHERE uid = 'testid'");mysql_query("UPDATE favs SET game = '$_GET[game]' WHERE uid = 'testid'");mysql_query("UPDATE favs SET celeb = '$_GET[celeb]' WHERE uid = 'testid'");mysql_query("UPDATE favs SET movie = '$_GET[movie]' WHERE uid = 'testid'");mysql_query("UPDATE favs SET tv = '$_GET[tv]' WHERE uid = 'testid'");mysql_query("UPDATE favs SET music = '$_GET[music]' WHERE uid = 'testid'");echo "Update Successful! <a href='index.php'>Click To Return</a>.";?></html>[/code] Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/#findComment-62414 Share on other sites More sharing options...
kenrbnsn Posted July 23, 2006 Share Posted July 23, 2006 The problem occurs not when you insert the data into the database, but in your form. If you had looked at the data being returned from the form, you would have see this. You need to put quotes around all values of attributes in the <input> tags. If your data includes quotes or HTML tags, pass it through the htmlentities() function first:[code]<?phpecho "<form name='favupdate' action='update.php' method='get'>";echo "Book: <input type='text' name='book' value='{$row['book']}'>";echo "<br>";echo "Game: <input type='text' name='game' value='{$row['game']}'>";echo "<br>";echo "Celeb: <input type='text' name='celeb' value='{$row['celeb']}'>";echo "<br>";echo "Movie: <input type='text' name='movie' value='{$row['movie']}'>";echo "<br>";echo "TV Show: <input type='text' name='tv' value='{$row['tv']}'>";echo "<br>";echo "Music: <input type='text' name='music' value='{$row['music']}'>";echo "<br>";echo "<input type='submit' value='Update'>";?>[/code]Ken Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/#findComment-62418 Share on other sites More sharing options...
kenrbnsn Posted July 23, 2006 Share Posted July 23, 2006 AVO, you're solutions do not relate to the OP's problem at all, please refrain from posting non-solutions.Ken Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/#findComment-62419 Share on other sites More sharing options...
Uphoreum Posted July 23, 2006 Author Share Posted July 23, 2006 Ken's Code fixed it. Thanks!He's right, the data in the table was fine, but when I tried to read it back into the form, it got screwed up. I never used MySQL to just look at the table first. Quote Link to comment https://forums.phpfreaks.com/topic/15397-mysql-data-entry-spaces/#findComment-62422 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.