PHP到MySQL的初学者问题:

时间:2011-03-30 23:57:31

标签: php mysql

刚开始,并且认为我需要一个“数据库”,我这样做了:

$db = new PDO("java:comp/env/jdbc/mysql");
$stmt = $db->query("CREATE DATABASE kitty_db");

要查看它是否有效,我已将上述内容注释掉,然后写道:

$link = mysql_connect('localhost:3306', 'me', 'blah');
$db_list = mysql_list_dbs($link);

while($row = mysql_fetch_object($db_list)) {
      echo $row->Database ."<BR>";

我看到我的新数据库在那里:

information_schema
mysql
kitty_db
performance_schema
test

所以我的第一个问题是,我是否甚至需要在mysql旁边创建一个新的数据库才能开始使用?我不记得几年前(实际上是7个)在我之前设置MySQL时(不通过PHP)。

无论如何,我想知道为什么我现在不能创建一个表。如果kitty_db不是一个好主意,让我们把它拿出来。但是我可能无法使用TABLE'milk_bowl'(带索引或键或任何'bowl_name'字段)。

感谢您的帮助。事情变得越来越复杂,因为我差不多十年前在MySQL中打开了一个命令行,并发出了简单的查询。

2 个答案:

答案 0 :(得分:2)

  

所以我的第一个问题是,是吗?   甚至需要下一个新的数据库   到mysql只是为了开始   什么?我记不起了   这样做几年前(7   实际上)当我设置MySQL时   之前(没有通过PHP)。

这个问题有点模糊。您在询问是否需要创建数据库以启动某些操作?如果不了解你的事情,我真的不认为这个问题是可以回答的。创建数据库通常是设置数据库的第一步。开始时,您可能会发现this有帮助。

  

无论如何,我想知道为什么我不能   现在创建一个表。如果没有kitty_db   一个好主意,让我们把它拿出来。但是我   可能在放置TABLE时遇到问题   'milk_bowl'(带索引或键或   无论'bowl_name'字段)。

从以上链接(适合您的示例):

<?php
$con = mysql_connect("localhost:3306","me","blah");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// Create database
if (mysql_query("CREATE DATABASE kitty_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }

// Create table
mysql_select_db("kitty_db", $con);
$sql = "CREATE TABLE milk_bowl
(
bowl_name varchar(15),
)";

// Execute query
mysql_query($sql,$con);

mysql_close($con);
?> 
  

感谢您的帮助。事情有   因为我刚刚变得更加复杂   在MySQL中打开了一个命令行   差不多十年前刚刚发布   简单的查询。

我认为这并没有太大改变。您仍然可以使用命令行连接到您的mysql数据库并直接发出查询。 PHP只允许您通过浏览器/脚本完成。

答案 1 :(得分:1)

这不是您问题的直接答案,但它可能会解决您的问题...您是否尝试使用MySQL Administrator或MySQL Query Browser等应用程序?我在最近很长时间的间隙后回到了MySQL,发现它们都非常有用。