Çözüldü PHP ile MySQL sorgusu nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Timuçib

Hectopat
Katılım
8 Mart 2023
Mesajlar
1.395
Çözümler
13
Selam arkadaşlar, form üzerinden girdiğimiz verilerin veri tabanında olup olmadığını denetleyen bir PHP kodu nasıl yazabilirim? Kodları görüp mantığını anlamak istiyorum. Şimdiden teşekkür ederim.
 
Son düzenleyen: Moderatör:
Çözüm
Alttaki şekilde, sorgu yapıldıktan sonra etkilenen satır sayısı num_rows ile çekilir. Satır sayısı 0'dan büyükse aynı veri vardır demek oluyor.

MySQLi ile (önermem bu kodu);

PHP:
<?php

    $db_con = new mysqli("localhost", "root", "", "test");
    $result = $db_con->query("SELECT * FROM users WHERE id = '1'");
    if($result->num_rows > 0) {
         // değer var
    } else {
        // değer yok
    }
    $db_con->close();
?>

PDO ile;

PHP:
<?php
 
    $con_db = new PDO('mysql:host=localhost;dbname=deneme', "root", "");
 
    $sql_query = "SELECT * FROM users WHERE id = ?";
    $result = $con_db->prepare($sql_query);
    $result->execute([$id]);
    $number_of_rows = $result->fetchColumn();
 
    if ($number_of_rows > 0){
        // değer var
    }else{
        // değer yok
    }
 
?>
Alttaki şekilde, sorgu yapıldıktan sonra etkilenen satır sayısı num_rows ile çekilir. Satır sayısı 0'dan büyükse aynı veri vardır demek oluyor.

MySQLi ile (önermem bu kodu);

PHP:
<?php

    $db_con = new mysqli("localhost", "root", "", "test");
    $result = $db_con->query("SELECT * FROM users WHERE id = '1'");
    if($result->num_rows > 0) {
         // değer var
    } else {
        // değer yok
    }
    $db_con->close();
?>

PDO ile;

PHP:
<?php
 
    $con_db = new PDO('mysql:host=localhost;dbname=deneme', "root", "");
 
    $sql_query = "SELECT * FROM users WHERE id = ?";
    $result = $con_db->prepare($sql_query);
    $result->execute([$id]);
    $number_of_rows = $result->fetchColumn();
 
    if ($number_of_rows > 0){
        // değer var
    }else{
        // değer yok
    }
 
?>
 
Son düzenleme:
Çözüm
Alttaki şekilde, sorgu yapıldıktan sonra etkilenen satır sayısı çekilir. Satır sayısı 0'dan büyükse aynı veri vardır demek oluyor.

PHP:
$mysqli = new mysqli("localhost", "root", "", "test_db");
$result = $mysqli->query("SELECT * FROM users WHERE id = '1'");
if($result->num_rows > 0) {
           // değer var
}else{
           // değer yok
}
$mysqli->close();
Kesinlikle ama kesinlikle PDO kullanımını öneriyorum. PDO Kullanımı – Tayfun Erbilen Burada sade bir şekilde anlatılıyor. id='değer' şeklinde yazılan her kod potansiyel SQL Injection riski bulundurur.
 
Alttaki şekilde, sorgu yapıldıktan sonra etkilenen satır sayısı num_rows ile çekilir. Satır sayısı 0'dan büyükse aynı veri vardır demek oluyor.

MySQL'i ile (önermem bu kodu);

PHP:
<?php

 $db_con = new mysqli("localhost", "root", "", "test");
 $result = $db_con->query("SELECT * FROM users WHERE id = '1'");
 if($result->num_rows > 0) {
 // değer var
 } else {
 // değer yok
 }
 $db_con->close();
?>

PDO ile;

PHP:
<?php

 $con_db = new PDO('mysql:host=localhost;dbname=deneme', "root", "");

 $sql_query = "SELECT * FROM users WHERE id = ?";
 $result = $con_db->prepare($sql_query);
; $result->execute([$id]);
 $number_of_rows = $result->fetchColumn();

 if ($number_of_rows > 0){
 // değer var
 }else{
 // değer yok
 }

?>

$Db_con = New mysqli("localhost", "root", "", "test"); bu kod anladığım kadarıyla veri tabanına bağlanmanın farklı bir yolu normalde $db_con = mysqli_connect("","","",""); şeklinde bağlanıyordum bunun ne gibi bir farkı oluyor yoksa sadece farklı bir bağlama yönetemimi.

$Db_con = New mysqli("localhost", "root", "", "test"); bu kod anladığım kadarıyla veri tabanına bağlanmanın farklı bir yolu normalde $db_con = mysqli_connect("","","",""); şeklinde bağlanıyordum bunun ne gibi bir farkı oluyor yoksa sadece farklı bir bağlama yönetemimi.
bu arada ilgilendiğiniz için teşekkür ederim problemim çözüldü.
 

Technopat Haberler

Yeni konular

Yeni mesajlar

Geri
Yukarı