• 01-06-2020, 23:25:21
    #1
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu =" . $_GET['id']);

    ben şöyle bir şey denedim ama hata veriyor arkadaşlar, yapmak istediğim karakterkodu = olarak belirleyeceği veri urlde get aracılığıyla id olarak gelen veri olsun istiyorum.

    yani xx.php?id=3 ise id 3 ün sonuçlarını getirsin sorgu, id 4 ise 4 ün bunu nasıl yapabilirim
  • 01-06-2020, 23:28:48
    #2
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = ' . $_GET['id'] . '");
    Bu şekilde dener misin?
  • 01-06-2020, 23:28:54
    #3
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu ='{$_GET['id']}'");
  • 01-06-2020, 23:30:48
    #4
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = { $_GET['id'] } ");
  • 01-06-2020, 23:33:20
    #5
    YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = ' . $_GET['id'] . '");
    Bu şekilde dener misin?
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:xampphtdocscanlikarakter.php on line 353

    Abdullahx adlı üyeden alıntı: mesajı görüntüle
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu ='{$_GET['id']}'");
    Fatal error: Uncaught Error: Cannot use object of type PDOStatement as array in C:xampphtdocscanlikarakter.php:358 Stack trace: #0 {main} thrown in C:xampphtdocscanlikarakter.php on line 358

    onurgosteris adlı üyeden alıntı: mesajı görüntüle
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = { $_GET['id'] } ");
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:xampphtdocscanlikarakter.php on line 353
  • 01-06-2020, 23:35:36
    #6
    GET ile aldığın isteği tırnak içerisine al. String veri gönderdiğinden tırnak dışında syntax hatasına düşer.
  • 01-06-2020, 23:36:06
    #7
    Platin üye
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = $_GET['id']);
    Kod bu şekilde çalışır fakat güvenlik açığı bırakır. Önerim şu şekilde,
    $basarisorgula = $db->prepare("SELECT * FROM basarilar WHERE karakterkodu = :p_karakter_kodu"); 
    $basarisorgula->bindParam(':p_karakter_kodu', $_GET['id']);
    $basarisorgula->execute();
  • 01-06-2020, 23:37:57
    #8
    Benim sql sorgusunda hata yok, execute ettiniz mi kodu?
  • 01-06-2020, 23:38:11
    #9
    $basarisorgula=$db->prepare("SELECT * FROM basarilar WHERE karakterkodu = ?");
    $basarisorgula->execute(array($_GET['id']));
    MySQL sorgusunu execute ederken bu şekilde array ile değeri gönderip dener misin?