繁体   English   中英

将PDO SQL降级到mysql_query

[英]Downgrade PDO SQL to mysql_query

我正在使用mysql_语句的旧脚本上工作。 每当我尝试发出任何mysqli_或PDO语句时,一切都会变得很棘手。 因此,我需要重写以下代码,以便它与我正在重新编程的脚本一起使用。

    $ids = $_POST['delete'];
    $params = array_fill(0, count($ids), "?");
    $sql = "DELETE FROM some_table WHERE id IN (" . implode(",", $params) . ")";

    $pdo = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'pass');
    $stmt = $pdo->prepare($sql);
    $stmt->execute($ids);

我正在使用的代码中的常规连接看起来更像:

    include "inc/config.php";
    include "inc/funcs.php";
    @mysql_connect($dbhost,$dbuser,$dbpass);
    @mysql_select_db($dbname) or die( "Unable to select database");
    include "inc/userauth.php";

    if ($_POST && isset($_POST['value'])) {

    $value = mysql_real_escape_string($_POST['value']);

   $sql = "UPDATE oto_members SET right_sidebar = '".$value."' WHERE username='".$_SESSION['uid']."'";
   mysql_query($sql);
   }

那么,我将如何重新编写PDO代码,使其与旧的mysql_样式调用一起使用?

错误,将您的第一个示例代码-/-pdo复制/粘贴到第二个示例中?

include "inc/config.php";
include "inc/funcs.php";
@mysql_connect($dbhost,$dbuser,$dbpass);
@mysql_select_db($dbname) or die( "Unable to select database");
include "inc/userauth.php";

if ($_POST && isset($_POST['value'])) {

$value = mysql_real_escape_string($_POST['value']);
 $ids = $_POST['delete'];
$params = array_fill(0, count($ids), "?");

$sql = "DELETE FROM some_table WHERE id IN (" . implode(",", $params) . ")";

mysql_query($sql);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM