2014-03-25 32 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]"));