繁体   English   中英

这个用于创建MySQL表的PHP脚本有什么问题?

[英]What's wrong with this PHP script for creating MySQL tables?

这是应该安装我的MySQL数据库表的脚本:

include("parameter.php");
$link = mysql_connect($host,$user,$password); 
mysql_select_db($database); 

$anfrage="DROP TABLE IF EXISTS praktikumsplatz;"; 
mysql_query($anfrage);
$anfrage="CREATE TABLE praktikumsplatz (
praktikumsplatz_id INTEGER(6) not null auto_increment, 
einrichtung VARCHAR(30), 
einrichtungort VARCHAR(30),
ansprechname VARCHAR(30), 
ansprechvorname VARCHAR(30),
ansprechmail VARCHAR(50), 
praktikumstyp VARCHAR(30), 
bezahlung VARCHAR(30), 
pbeginn DATE,
pende DATE,
beschreibung TEXT,
primary key (praktikumsplatz_id),
fulltext (einrichtung));";
mysql_query($anfrage);

$anfrage="DROP TABLE IF EXISTS studierender;"; 
mysql_query($anfrage); 
$anfrage="CREATE TABLE studierender (
matrikelnummer INTEGER(5) not null, 
sname VARCHAR(30), 
svorname VARCHAR(30),
semail VARCHAR(50), 
studiengang VARCHAR(30), 
primary key (matrikelnummer),
fulltext (sname, svorname, studiengang));";
mysql_query($anfrage);

$anfrage="DROP TABLE IF EXISTS vermittlung;"; 
mysql_query($anfrage); 
$anfrage="CREATE TABLE vermittlung (
vermittlung_id INTEGER(6) not null auto_increment, 
praktikumsplatz_id INTEGER, 
matrikelnummer INTEGER,
vermittlungsdatum DATE,
primary key (vermittlung_id));";
mysql_query($anfrage);

echo "Installation erfolgreich abgeschlossen!";
mysql_close($link);

在这里你可以看到提到的parameter.php

$host = "localhost";
$user = "root";
$password = "usbw";
$database = "test";

这是我在浏览器中执行安装脚本时遇到的错误(我使用带有USBWebserver堆栈的USB记忆棒,类似于Xampp):

致命错误:第24行的E:\\ USBMySQLServer \\ root \\ praktikumsboerse \\ install.php超出了30秒的最大执行时间

这是这个行,但我怀疑这是这种奇怪行为的原因:

$anfrage="DROP TABLE IF EXISTS studierender;"; 

您收到错误是因为您的请求处理时间过长。 您可以在php.ini或使用ini_set增加执行时间。 但是更新/支持db的最佳解决方案 - 从控制台运行脚本。

所有迁移都从控制台运行。 只需打开控制台并运行:

php my_script.php

您可以使用任何工具进行迁移。 例如像这样的东西 这将是最好的解决方案。

- 将它放在PHP脚本的顶部

ini_set('max_execution_time', 300);

在此代码中,第一个错误是运算符包含。 如果配置文件不存在,则必须收到错误。

尝试使用:

require("parameter.php");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM