无法连接到php中的数据库

时间:2014-10-01 10:41:27

标签: php sql database

我的服务器上运行了一个使用phpmyadmin的数据库,但我无法连接它。这是一个例子:

$user_name = "xxxxx";
$password = "xxxxx";
$database = "xxxxx";
$host = "db.xxxx.nl";

$db_handle = mysql_connect($host, $user_name, $password);
$db_found = mysql_select_db($database);

但这似乎不起作用。如果我尝试在表中插入一些值,它仍然是空的。

$sql = "INSERT INTO tbl_forum 
        ( 
                    title, 
                    name, 
                    content, 
                    lastname, 
                    post_image 
        ) 
        VALUES 
        ( 
                    '{$_POST['contactsubject']}', 
                    '{$_POST['contactname']}', 
                    '{$_POST['contactmessage']}', 
                    '{$_POST['contactlastname']}', 
                    '{$_FILES["contactBrowse"]["name"]}' 
        )";

我做错了吗?

2 个答案:

答案 0 :(得分:0)

我要完全重写你的代码。由于您对PHP中的数据库很新,因此绝对没有理由不使用新的mysqli API。

您的连接应该是这样的;

$mysqli = new mysqli($host,$user_name,$password,$database);
if ($mysqli->connect_errno) echo "Failed to connect to MySQL: " . $mysqli->connect_error;

这将创建一个名为$mysqli的新数据库对象(或者您可以根据需要调用它,例如$db)。

然后,您可以准备SQL语句并执行它。在下面的代码中,我们有5个参数在SQL中表示为?,然后我们将变量绑定到这5个参数。 bind_param中的第一个参数告诉API,5个参数是5个字符串(因此s x5)。对于整数,请使用i;

if($query = $mysqli->prepare("INSERT INTO tbl_forum (title,name,content,lastname,post_image) VALUES (?,?,?,?,?)")) {
    $query->bind_param('sssss',$_POST['contactsubject'],$_POST['contactname'],$_POST['contactmessage'],$_POST['contactlastname'],$_FILES["contactBrowse"]["name"]);
    $query->execute();
}
else {
    echo "Could not prepare SQL: " . $mysqli->error;
}

假设您的所有连接信息都是正确的,这将根据需要将您的信息插入数据库。

希望这有帮助。

答案 1 :(得分:-1)

我认为最后一个值'{$_FILES["contactBrowse"]["name"]}'存在一些问题。尝试这个并在准备好(echo $sql;)之后获取sql以便自己调试。

$file_name = $_FILES["contactBrowse"]["name"];
$sql = "INSERT INTO tbl_forum 
    ( 
                title, 
                name, 
                content, 
                lastname, 
                post_image 
    ) 
    VALUES 
    ( 
                '{$_POST['contactsubject']}', 
                '{$_POST['contactname']}', 
                '{$_POST['contactmessage']}', 
                '{$_POST['contactlastname']}', 
                '{$file_name}' 
    )";