可以仅使用PHP创建MySQL表吗?

时间:2011-07-28 16:44:19

标签: php mysql

我对编程知之甚少,所以我聘请了某人创建一个简单的MySQL数据库,其中包含一个可以输入信息的在线表格。

我已经在我的主机帐户中设置了MySQL数据库,并为程序员提供了登录详细信息以及FTP帐户。

他说他需要我的托管用户名/密码才能创建数据库,因为他需要使用PHPMyadmin来创建表并测试数据库。

这对我来说似乎有点阴暗。程序员不能单独使用PHP命令创建表吗?我不想向陌生人透露我的主用户名/密码。

如果重要的话,我会在1and1.com上托管

6 个答案:

答案 0 :(得分:2)

如果为MySQL用户提供足够的数据库权限,他们可以使用CREATE TABLE语句创建表而无需使用PHPMyadmin。如果他们不知道如何在不使用GUI的情况下创建表,那么我会怀疑他们的整体数据库编程能力是否是您项目的领导者。

答案 1 :(得分:1)

PHP可以在它具有有效连接的MySQL服务器上执行任何SQL语句,包括CREATE TABLE命令,但是,这些将受PHP用户的"privileges"的约束。获得MySQL连接。

您提供登录凭据的 MySQL用户可能没有创建表权限。在这种情况下,PHP无法执行任何操作,因为执行的SQL命令会失败。

那就是说,我不知道为什么使用PHPMyAdmin需要托管用户名/密码。通常使用 MySQL用户登录PHPMyAdmin,而不是托管用户。但是,该用户将受到相同的权限限制,因此我们回到第1部分:

  • 您为程序员创建的 MySQL用户是否具有创建表权限?

    如果,他们应该能够单独从PHP创建表,如果安装了PHPMyAdmin,他们应该能够使用同一个用户登录(并且不< / strong>您的托管用户!)

    如果没有(可能不太可能,虽然我不知道1和1),那么你需要提供一个具有创建表权限的 MySQL用户才能做任何事情;然后见上文。

答案 2 :(得分:0)

可以通过php向数据库提交必要的CREATE TABLE查询,但开发人员可能更熟悉PHPMyAdmin显示服务器上设置内容的方式。

答案 3 :(得分:0)

听起来对我很可行。从技术上讲,他可以单独用PHP做任何事情,但使用PHPMyAdmin要容易得多。

我认为你应该聘请一个你可以信任的人,并给他们提供工具来帮助他们做好工作。

答案 4 :(得分:0)

你可以这样做:

http://www.w3schools.com/php/php_mysql_create.asp

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

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

// Create table
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";

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

mysql_close($con);
?> 

我也可能创建一个可以访问数据库的DBUser,并告诉他下载一个mySQL客户端(例如HediSQL)来完成他的数据库工作。完成后,只需删除DBUser(或取消所有权限)。

答案 5 :(得分:0)

你不必给他你的用户/通行证。您可以使用较少的权限在PHPMyAdmin中创建新用户。完成数据库安装后,只需删除该用户即可。

是的,他可以仅使用PHP创建数据库,但它比使用PHPMyAdmin要慢。

您雇用的人可能并不熟悉软件开发,而且他知道修改MySQL的唯一方法就是使用该Web界面。