【发布时间】:2016-09-02 04:25:04
【问题描述】:
我正在尝试编写一个脚本,该脚本将一个表添加到已经创建的数据库('alphacrm')。我的错误是最底部附近的回显线不会显示,并且没有为我创建表数据库。我已经验证了 $dbSuccess 是真的,不知道在那之后我哪里出错了。我确实尝试查看它是否正确连接,但这似乎不是问题。如果您发现我的错误,将不胜感激!
if ($dbSuccess) {
$createCoyTable_SQL = "CREATE TABLE alphacrm.tCompany ( ";
$createCoyTable_SQL .= "ID INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY ";
$createCoyTable_SQL .= "preName VARCHAR( 50 ) , ";
$createCoyTable_SQL .= "Name VARCHAR( 250 ) NOT NULL, ";
$createCoyTable_SQL .= "RegType VARCHAR( 50 ) NULL, ";
$createCoyTable_SQL .= "SreetA VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "SreetB VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "SreetC VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "Town VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "County VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "Postcode VARCHAR( 150 ) NULL, ";
$createCoyTable_SQL .= "COUNTRY VARCHAR( 250 ) NOT NULL ";
$createCoyTable_SQL .= ")";
if (mysql_query($createCoyTable_SQL)) {
echo "Creation of TABLE tCompany -- Succesful <br />";
}
$createPersonTable_SQL = "CREATE TABLE alphacrm.tPerson ( ";
$createPersonTable_SQL .= "ID INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY ";
$createPersonTable_SQL .= "Salutation VARCHAR( 20 ) , ";
$createPersonTable_SQL .= "FirstName VARCHAR( 50 ) , ";
$createPersonTable_SQL .= "LastName VARCHAR( 50 ) NOT NULL, ";
$createPersonTable_SQL .= "CompanyID VARCHAR( 11 ) NOT NULL ";
$createPersonTable_SQL .= ")";
if (mysql_query($createPersonTable_SQL)) {
echo "Creation of tPerson table was succesful <br />";
}
}
【问题讨论】:
-
如果遇到错误,最好说出是什么
-
“我的错误是最底部附近的回显线不会显示,并且没有为我的数据库创建表。” 请参阅评论 #2。 我认为你忽略了。是的。
-
如果您使用multi-line strings,这将大大减少冗长。
-
警告:如果您只是学习 PHP,请不要学习过时的
mysql_query接口。这很糟糕,已在 PHP 7 中删除。PDO is not hard to learn 之类的替代品和PHP The Right Way 之类的指南有助于解释最佳实践。确保确保您的用户参数是properly escaped,否则您最终会得到严重的SQL injection bugs。