使用SQLDeveloper而不是MySQL来操作php的表更新

时间:2014-03-25 23:06:06

标签: php mysql sql oracle

我在SQLDeveloper中创建了一个表,用PHP填充了用户数据(用户名,电子邮件,密码,密码),并且能够删除用户数据。现在我想做的是修改表格中的数据。我可以在网上找到的唯一语法是,对于MySQL和我试图修复它以便它可以在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='JRYE@GMAIL.COM'");

mysqli_close($con);
?>

修改

我的主要问题是如何更改它以便它可以连接到我的Oracle数据库。

1 个答案:

答案 0 :(得分:1)

您可以使用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", "JRYE@GMAIL.COM"));