我有这段代码:
$link = mysql_connect("localhost", "ctmanager", "pswsafgcsadfgG");
if ( ! $link )
die("I cannot connect to MySQL.<br>\n");
else
print "Connection is established.<br>\n";
print "a";
if ( mysql_create_db("ct", $link) )
print "AAA";
else
print "BBB";
print "2";
die();
这是输出:
Connection is established.
a
所以,我无法理解输出“AAA”和“BBB”的可能性如何。是因为程序在mysql_create_db
死亡了吗?
答案 0 :(得分:8)
error_reporting(-1);
ini_set('display_errors', 'On');
位于脚本的最顶层。你肯定会得到更多细节。发布您的发现,如果需要,我会更新我的答案。
此外,如果您使用PHP 5,则可以try:
try
{
if (mysql_create_db("ct", $link))
echo 'AAA';
else
echo 'BBB';
}
catch (Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
也许这会抓住一些东西......
另外,正如FrantišekŽiačik用his link指出的那样:
函数mysql_create_db()是 弃用。最好使用 mysql_query()发出一个sql CREATE 改为使用DATABASE语句。
答案 1 :(得分:2)
mysql_create_db
在PHP5中已弃用,可能甚至不存在。
有关如何操作的示例,请参阅http://php.net/manual/en/function.mysql-create-db.php。
答案 2 :(得分:1)
我认为你是对的,它在mysql_create_db失败但我猜它是你传入它的SQL。你想创建一个名为“ct”的数据库吗?如果是这样,我会尝试“CREATE DATABASE ct”
答案 3 :(得分:1)
您运行的是哪个PHP版本?根据{{3}},我们不推荐使用mysql_create_db
,而是应该发出CREATE DATABASE
个查询。
if (mysql_query("CREATE DATABASE ct", $link))
print "AAA";
else
print "BBB";
答案 4 :(得分:0)
我认为这有望成为替代方式。
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
echo "Database my_db created successfully\n";
} else {
echo 'Error creating database: ' . mysql_error() . "\n";
}
?>