$varmi = mysql_num_rows(mysql_query("select * from spor where tarih='$tarih' && evsahibi='$evsahibi' && misafir='$misafir'"));
if($varmi>0){
echo"Bu Maç Daha Önce Eklenmiş";
}else{
$ekle = mysql_query("INSERT INTO spor SET
hafta = '$hafta',
mackodu = '$mackodu',
tarih = '$tarih',
saat = '$saat',
bayrak = '$bayrak',
lig = '$lig',
mbs = '$mbs',
sms1 = '$sms1',
sms2 = '$sms2',
evsahibi = '$evsahibi',
misafir = '$misafir',
ms1 = '$ms1',
msx = '$msx',
ms2 = '$ms2',
iy1 = '$iy1',
iyx = '$iyx'
");
if($ekle){
echo "işlem tamam";
}else{
echo "hata".mysql_error();
}
} pdo sorgusu yardım lazım
10
●299
- 27-01-2020, 19:13:01Kimlik doğrulama veya yönetimden onay bekliyor.merhaba arkadaşlar eski bir kodlamamı pdo ya çevirecektim mysql sorgum aşağıdaki gibi ben bunu nasıl pdo şeklinde yaparım, yapıyorum aslında ama bu varmı kısmını yapamadım
- 27-01-2020, 19:27:31
$sorgu = $db->prepare("SELECT * FROM spor where tarih = :p_tarih && evsahibi = :p_ev_sahibi && misafir = :p_misafir"); $sorgu->bindParam(':p_tarih', $tarih); $sorgu->bindParam(':p_ev_sahibi', $evsahibi); $sorgu->bindParam(':p_misafir', $misafir); $sorgu->execute() $sonuc = $sorgu->fetchAll(); $say = rowCount($sonuc); if($say > 0) {} - 27-01-2020, 19:52:21Bağlantı kodlarınızı da pdo uyumlu yapmanız gerekir. Aşağıda rowCount ile kaç kayıt olduğunu check eden bir örnek yazdım.
<?php $dbhost = "localhost"; $dbname = "dn_name"; $dbuser = "db_user"; $dbpassword = "password"; $dsn = 'mysql:host='.$dbhost.';dbname='.$db_name.';charset=utf8'; try { $conn = new PDO($dsn,$dbuser,$dbpassword); } catch(PDOException $e) { die($e->getMessage()); } $kontrol = $conn->prepare("select * from spor WHERE tarih = ? && evsahibi = ? && misaif = ?"); $kontrol->bindParam(1, $tarih); $kontrol->bindParam(2, $evsahibi); $kontrol->bindParam(3, $misafir); $kontrol->execute(); if($kontrol->rowCount() > 0) { echo "Bu Maç Daha Önce Eklenmiş"; } else { // Burada insert kodlarınızı yazın. } - 27-01-2020, 19:53:13
$database = ''; $databaseUser = ''; $password = ''; try { $db = new PDO("mysql:host=localhost;dbname=".$database, $databaseUser, $password); $db -> beginTransaction(); $sql = 'SELECT * FROM spor WHERE tarih=:tarih && evsahibi=:evsahibi && misafir=:misafir'; $result = $db -> prepare($sql); $result -> bindValue(':tarih',$tarih,PDO::PARAM_STR); $result -> bindValue(':evsahibi',$evsahibi,PDO::PARAM_STR); $result -> bindValue(':misafir',$misafir,PDO::PARAM_STR); $result -> execute() $data = $result -> fetch(PDO::FETCH_ASSOC); if(!$data){ echo"Bu Maç Daha Önce Eklenmiş"; }else{ $sql2 = 'INSERT INTO spor (hafta,marckodu,tarih,saat,bayrak,lig,mbs,sms1,sms2,evsahibi,misafir,ms1,msx,ms2,iyl,iyx) VALUES (:hafta,:marckodu,:tarih,:saat,:bayrak,:lig,:mbs,:sms1,:sms2,:evsahibi,:misafir,:ms1,:msx,:ms2,:iyl,:iyx)'; $result = $db -> prepare($sql2); // işlenecek değer integer ise PDO::PARAM_INT yada diğer tiplerde ise basit bir araştırma ile tip tanımlamalarına bakabilirsin $result -> bindValue(':hafta',$hafta,PDO::PARAM_STR); $result -> bindValue(':marckodu',$marckodu,PDO::PARAM_STR); $result -> bindValue(':tarih',$tarih,PDO::PARAM_STR); $result -> bindValue(':saat',$saat,PDO::PARAM_STR); $result -> bindValue(':bayrak',$bayrak,PDO::PARAM_STR); $result -> bindValue(':lig',$lig,PDO::PARAM_STR); $result -> bindValue(':mbs',$mbs,PDO::PARAM_STR); $result -> bindValue(':sms1',$sms1,PDO::PARAM_STR); $result -> bindValue(':sms2',$sms2,PDO::PARAM_STR); $result -> bindValue(':evsahibi',$evsahibi,PDO::PARAM_STR); $result -> bindValue(':misafir',$misafir,PDO::PARAM_STR); $result -> bindValue(':ms1',$ms1,PDO::PARAM_STR); $result -> bindValue(':msx',$msx,PDO::PARAM_STR); $result -> bindValue(':ms2',$ms2,PDO::PARAM_STR); $result -> bindValue(':iyl',$iyl,PDO::PARAM_STR); $result -> bindValue(':iyx',$iyx,PDO::PARAM_STR); $result -> execute(); if($result -> rowCount()){ $db -> rollBack(); echo "hata"; }else{ $db -> commit(); echo "işlem tamam"; } } } catch ( PDOException $e ){ print $e->getMessage(); } - 27-01-2020, 20:08:00çok teşekkürler hocam ancak Fatal error: Uncaught Error: Call to undefined function rowCount() in C:xampphtdocsabotajax.php:74 Stack trace: #0 {main} thrown in böyle bir hata verdi.enesaydeniz adlı üyeden alıntı: mesajı görüntüle
gayet başarılı olmuş hocam sağolun peki bunu bindParam kullanmadan nasıl yaparım?coder63 adlı üyeden alıntı: mesajı görüntüle
teşekkürler hocam ekleme kısmından faydalanacağım kesin bindparam konusunu hiç incelememiştim, bindparam kullanmadan nasıl yaparım acaba?geronimos adlı üyeden alıntı: mesajı görüntüle - 27-01-2020, 20:10:19Neden bindParam kullanmak istemiyorsunuz ki? Sistemin daha güvenli olması açısından kullanılması gereken bir fonksiyon ama illa kullanmayacaksanız sizde ki gibi direkt parametre koyabilirsiniz
- 27-01-2020, 20:14:02http://www.erbilen.net/pdo-kullanimi/ şurayı incelerseniz bi çok kullanım türünü görürsünüz hocam
- 27-01-2020, 20:56:30hocam bindparam konusunu henüz hiç incelemedim o yüzdenenesaydeniz adlı üyeden alıntı: mesajı görüntüle
teşekkürler hocamgeronimos adlı üyeden alıntı: mesajı görüntüle
hocam yazdığınız kodun bindparam sız halini yapabilirmisiz mümkünsecoder63 adlı üyeden alıntı: mesajı görüntüle