2014-03-25 50 views
2

我在SQLDeveloper中創建了一個表,並在PHP中填充了用戶數據(用戶名,電子郵件,密碼,密碼),並且也能夠刪除用戶數據。現在我想要做的是修改表中的數據。我可以在網上找到的唯一語法是MySQL,我試圖修復它,以便它可以在SQLDeveloper中工作。這是我爲MySQL設置的代碼。使用SQLDeveloper而不是MySQL爲php操作表更新使用SQLDeveloper而不是MySQL

我的表叫做MANCITY,我想更新的唯一東西就是用戶名。我已經將它留在了MySQL表單中,而不是將一些我認爲可能適用於SQLDeveloper的東西混合在一起,並讓它們混合在一起。謝謝!

<?php 

$dbuser = "s"; 
$dbpassword = "t"; 
$db = "o"; 

$con=mysqli_connect("$dbuser,$dbpassword,$db"); 

if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

mysqli_query($con,"UPDATE MANCITY SET USERNAME=JOHN 
WHERE USERNAME='JON' AND EMAIL='[email protected]'"); 

mysqli_close($con); 
?> 

編輯

我的主要問題是如何改變它,以便它可以連接到我的Oracle數據庫。

+0

約翰 – Mihai

+0

旁註使用引號:你缺少你的數據庫憑據主機參數。一般語法是'$ con = new mysqli($ DB_HOST,$ DB_USER,$ DB_PASS,$ DB_NAME);'不包含引號。 –

+0

對不起,也許我沒有把我的問題擺好。你看,那是MySQL的代碼我確信我不能使用「mysqli();」當我試圖讓它連接到我的SQLDeveloper數據庫。我的主要問題是如何改變它,以便它可以連接到我的Oracle數據庫。 – user3457441

回答

2

您可以使用PDO with the Oracle driver,其優點是可以實際讀取任何PDO-PHP教程,並且很可能只需要更改構造PDO對象的行。雖然這個擴展名仍然標記爲experimental

另一種方法是使用direct Oracle extension,它只能與Oracle一起使用,沒有其他DBMS。雖然這可能會爲您提供更多的Oracle原生功能,但您可以通過這種方式找到更少的信息。

隨着PDO擴展以下應該工作:

<?php 
$db_username = "youusername"; 
$db_password = "yourpassword"; 
$db = "oci:dbname=yoursid"; 

$conn = new PDO($db,$db_username,$db_password); 
// Another way to connect which might work 
// $conn = new PDO('oci:dbname=//localhost:1521/mydb', $db_username, $db_password); 

$st = $conn->prepare('UPDATE MANCITY SET USERNAME=? WHERE USERNAME=? AND EMAIL=?'); 
$st->execute(array("JOHN", "JON", "[email protected]"));