簡體   English   中英

為什么我的php無法連接到sql數據庫代碼?

[英]Why doesn't my php connect to sql database code work?

/ *我已經在php管理員中設置了一個數據庫,並使用了Dreamweaver。 不知道為什么它不起作用。 $ vars來自我使用的ftp站點。 這是代碼:* /

<?php
$db_host = "host";
$db_username = "user_name";
$db_pass = "password";
$db_name = "db_name";

@mysql_connect($db_host, $db_username $db_pass) or die ("Could not connect 
to MySQL");
@mysql_select_db($db_name) or die ("No database"); 

$sql = "INSERT INTO 'signups' (FirstName, LastName, email,CompanyName, 
JobTitle, ProductSector,ProductWebsite,ProductName,id)
VALUES ('$FirstName', '$LastName', '$email','$CompanyName', '$JobTitle', 
'$ProductSector','$ProductWebsite','$ProductName','$id')";
?>

我意識到這是連接MySQL的“快速簡便”方法-但極易發生Sql注入 參數化查詢是一種更安全的方法。 另外,不應使用“ mysql”驅動程序,因為該驅動程序已被棄用,並且在php7中將不存在 相反,將使用用於MySQL的MySQLiPDO驅動程序 (首選)。 MySQL_connect不再記錄在PHP網站上。

即使這是一個測試環境,我也強烈建議您盡早切換到安全驅動程序。

正如Elias Nicolas指出的那樣...將@符號放在mysql_connect前面會導致任何錯誤,您必須“跳過”。 該錯誤不會記錄下來,它將使它看起來好像沒有問題時一樣。

編輯:這將使您接近Mysqli-應該已經存在於php的擴展名中。 您可能需要在php.ini中啟用它。 另外,您可能需要在?sie:('?')周圍加一個'。

// don't forget to sub the vars!
$db_host = "host";
$db_username = "user_name";
$db_pass = "password";
$db_name = "db_name";

$link = new mysqli($db_host, $db_username, $db_pass, $db_name) or die ('Could not connect to the database server' . mysqli_connect_error());

$sql = <<<QUERY
INSERT INTO signups 
    (FirstName, LastName, email, CompanyName, JobTitle, ProductSector, ProductWebsite, ProductName, id)
VALUES
    (?,?,?,?,?,?,?,?,?);
QUERY;

if ($stmt = $mysqli->prepare($sql)) 
{
    $stmt->bind_param("sssssssss", $FirstName, $LastName, $email, $CompanyName, $JobTitle, $ProductSector, $ProductWebsite, $ProductName, $id);
    $stmt->execute();
}

$link->close();

對於表名以及列名而不是值,請使用`代替'。 您的sql應該看起來像這樣。

INSERT INTO `signups` (`FirstName`, `LastName` `email`, `CompanyName`, 
`JobTitle`, `ProductSector'`,`ProductWebsite`,`ProductName`,`id`)
VALUES ('$FirstName', '$LastName', '$email','$CompanyName', '$JobTitle', 
'$ProductSector','$ProductWebsite','$ProductName','$id')

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM