我沒有這個代碼出現問題,將會令人驚訝的正常工作,但我真不明白它是如何工作的,甚至是它的權利,所以:從mysqli的更改爲PDO
我與mysqli的查詢阿賈克斯後或者獲得電話都是這樣的:
$con = mysqli_connect('localhost','root','','db') or die(header('Location: ./404.php'));
$add = "INSERT INTO table (id, id2, id3) VALUES('','$fid','')";
if(mysqli_query($con, $add)){
echo "added";
}
$remove = "DELETE FROM table WHERE id2='$fid'";
if(mysqli_query($con, $remove)){
echo "removed";
}
$getInfo = "SELECT * FROM table";
$result = $con->query($getInfo);
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()){
//do something
}
}
併爲$_POST or $_GET values I used mysqli_real_escape_string
這裏被轉化爲PDO:
try{
$con = new PDO('mysql:host=localhost;dbname=db;charset=utf8mb4', 'root', '', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$get = $con->query("SELECT * FROM table");
foreach($get->fetchAll(PDO::FETCH_ASSOC) as $row){
$data['0'] = $row['name'];
$data['1'] = $row['email'];
return $data;
}
$add = $con->prepare("INSERT INTO table (id, id2, id3) VALUES(:f1,:f2,:f3)");
$add->execute(array(':f1' => '', ':f2' => $fid, ':f3' => ''));
echo "added";
$remove = $con->prepare("DELETE FROM table WHERE id2=:f1");
$remove->bindValue(':f1', $fid, PDO::PARAM_STR);
$remove->execute();
echo "removed";
}catch(PDOException $ex){
echo "error";
}
現在這個工程,但我真的不知道它是否正確寫入pdo,我不需要使用像mysqli或類似的東西mysqli_real_escape_string的東西。 和所有我能找到的網頁是,它現在是如何寫的什麼部分代碼是幹什麼例如,當我在mysqli的插入,更新使用或刪除我用什麼
if(mysqli_query($con, $sql)){echo "success";}else echo 'fail';
我怎樣才能做到這一點與PDO ? 也爲使用嘗試和捕獲我不知道我需要使用它的每個查詢或我上面添加?
只是再說我是新來的PDO,我不明白它非常好,從上面的作品這個代碼,但我不知道是它寫的正確方法?
在這裏你去我的朋友:https://phpdelusions.net/pdo – gview
@gview謝謝你,有人下面投票答案下面沒有解釋,你可能會給一個爲什麼他的答案是錯的? –
爲您提供了詳細的答案,希望它有幫助。此外,我非常懷疑你的手柄是否準確 - 你顯然不是一個愚蠢的孩子;) – gview