Farside Posted November 7, 2007 Share Posted November 7, 2007 I am unable to create a table in SQL using PHP. I think it might jsut be a code, because it won't even show the page. It just gives me an internal error. <?php $connection = @mysql_connect("localhost","jcruz","abc2000") or die(mysql_error()); $new_db = "testDB2"; $result = @mysql_create_db($new_db, $connection) or die(mysql_error()); ?> Quote Link to comment Share on other sites More sharing options...
trq Posted November 7, 2007 Share Posted November 7, 2007 Firstly, the code you have posted attempts to create a database, not a table. Secondly, to help with debugging your script, remove the @ error suppressors. Quote Link to comment Share on other sites More sharing options...
Farside Posted November 7, 2007 Author Share Posted November 7, 2007 yeah sorry i ment database i changed it. I will try it without the @ Quote Link to comment Share on other sites More sharing options...
trq Posted November 7, 2007 Share Posted November 7, 2007 Ive also just noticed that mysql_create_db() is now depricated. Best to just issue a query instead. eg; <?php mysql_connect("localhost","jcruz","abc2000") or die(mysql_error()); $new_db = "testDB2"; $sql = 'CREATE DATABASE $new_db'; if (mysql_query($sql)) { echo "Database $new_db created"; } else { echo 'Error creating database: ' . mysql_error() . "\n"; } ?> Quote Link to comment Share on other sites More sharing options...
revraz Posted November 7, 2007 Share Posted November 7, 2007 . Quote Link to comment Share on other sites More sharing options...
revraz Posted November 7, 2007 Share Posted November 7, 2007 Nm, didnt see the 2nd line Quote Link to comment Share on other sites More sharing options...
Farside Posted November 7, 2007 Author Share Posted November 7, 2007 Thanks Thorpe, It created the database fine, only problem is that it created with the name of $new_db instead of my testDB2 Quote Link to comment Share on other sites More sharing options...
revraz Posted November 7, 2007 Share Posted November 7, 2007 Try changing $sql = 'CREATE DATABASE $new_db'; to $sql = "CREATE DATABASE $new_db"; Quote Link to comment Share on other sites More sharing options...
Farside Posted November 7, 2007 Author Share Posted November 7, 2007 Ok thanks Thorpe here is the working portion: <?php mysql_connect("localhost","jcruz","abc2000") or die(mysql_error()); $new_db = "testDB2"; $sql = "CREATE DATABASE $new_db"; if (mysql_query($sql)) { echo "Database $new_db created"; } else { echo 'Error creating database: ' . mysql_error() . "\n"; } ?> just needed double quotes in the $sql variable Quote Link to comment Share on other sites More sharing options...
trq Posted November 7, 2007 Share Posted November 7, 2007 Hehe... my bad. You need to use double quotes. Quote Link to comment 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.