请问如何在我的代码中将mysql查询转换为pdo?

时间:2015-07-09 08:06:40

标签: php mysql pdo

我的代码PHP在mySQLquery中的唯一产品id函数

function kode($tabel, $inisial){
$struktur   = mysql_query("SELECT * FROM $tabel");
$field      = mysql_field_name($struktur,0);
$panjang    = mysql_field_len($struktur,0);

$qry    = mysql_query("SELECT MAX(".$field.") FROM ".$tabel);
$row    = mysql_fetch_array($qry); 
if ($row[0]=="") {
    $angka=0;
}
else {
    $angka      = substr($row[0], strlen($inisial));
}

$angka++;
$angka  =strval($angka); 
$tmp    ="";
for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++) {
    $tmp=$tmp."0";  
}
return $inisial.$tmp.$angka; }

如何将此代码转换为php pdo?请帮帮我..

1 个答案:

答案 0 :(得分:0)

以下是我用于PDO的标准代码段:

try
{
    $dbh = new PDO("mysql:host=xxxxxxxxxxxx;dbname=streaming", "xxxx", "xxxx");
}
catch (Exception $e)
{
    throw new Exception( 'Something really gone wrong', 0, $e);
}


$date = reformatDate($_POST['date']);

$sql="SELECT * FROM order_items WHERE date_start = :date";
$sth = $dbh->prepare($sql);
$sth->bindParam(':date', $date, PDO::PARAM_STR, 10);

$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_ASSOC);

此示例应指向正确的方向,但您需要进行繁重的工作。

<强>更新

这也是可以接受的。

$madeupstring = "Mk9285425";
$sql="SELECT * FROM order_items WHERE product = :whatever";
$sth = $dbh->prepare($sql);
$sth->bindParam(':whatever', $madeupstring);
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_ASSOC);

你也可以这样做:

$sql="SELECT * FROM order_items WHERE product = 'Mk9285425'";
$sth = $dbh->prepare($sql);
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_ASSOC);