【发布时间】:2015-04-20 14:50:03
【问题描述】:
我在将我的数据库连接到 mysql 时遇到困难,我尝试了许多不同的方法来尝试让它连接到我的数据库,但这些方法似乎都不起作用。我只是 php 的新手,我可能会遗漏一些东西,但我不知道它是什么。 这是一个搜索引擎,我创建了表单。 我认为我的问题来自这行代码 mysql_connect("localhost", "root", "") 或 die("could not connect");?! 我想知道是否可以告诉我是什么问题以及如何解决它,非常感谢。 下面是我的代码。
<?php
//connect
mysql_connect("localhost", "root", "") or die("could not connect");
mysql_select_db("search") or die("could not find database");
$output = '';
if (isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace("#[^0-9a-z]#i","", $searchq);
$query = mysql_query("SELECT * FROM gp management system WHERE Title LIKE '%$searchq%' OR Description LIKE '%$searchq%' OR Keyword LIKE '%$searchq%'") or die("could not search");
$count = mysql_num_rows($query);
if($count == 0) {
$output = 'There was no search results!';
}
else{
while($row = mysql_fetch_array($query)) {
$Title = $row['Title'];
$Description = $row['Description'];
$Keyword = $row['Keyword'];
$output .= '<div> ' .$Keyword. ' </div> ';
}
}
}
?>
【问题讨论】:
-
一方面,这是一个问题
FROM gp management system和一个主要问题。 -
你确定你有一个名为
search的数据库吗? -
您好,这是我的数据库名称有空格而不是单引号。非常感谢您的反馈,非常棒。
-
警告:如果您只是学习 PHP,请不要学习过时的
mysql_query接口。这很糟糕,并且在 PHP 的未来版本中被删除。像PDO is not hard to learn 这样的现代替代品。像PHP The Right Way 这样的指南可以帮助解释最佳实践。始终绝对确定您的用户参数是properly escaped,否则您将遇到严重的SQL injection bugs。 -
那不是包含空格的数据库,而是您的表。