php
  • mysqli
  • 2011-05-19 137 views 0 likes 
    0
    $db = new mysqli('localhost','root','nere','deneme'); 
    
    if ($db->error) 
    exit(); 
    
    $stmt = $db->prepare("INSERT INTO deneme VALUES (?,?,?)"); 
    
    $stmt->bind_param('ssi',$adi,$soyadi,$no); 
    
    $adi='recep'; 
    $soyadi='saban'; 
    $no=5; 
    
    $stmt->execute(); 
    

    我得到了錯誤。php語句問題。 (mysqli)

    Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\rock\index.php on line 10 
    

    我做錯了什麼?

    +0

    的var_dump($語句);在$ stmt = $ db-> prepare(「INSERT INTO deneme VALUES(?,?,?)」)之後; – Danzan 2011-05-19 10:05:56

    回答

    1

    看起來你的準備聲明失敗了,$ stmt是錯誤的(你應該在那裏添加一些檢查)。表deneme實際存在嗎?

    2

    它應該是下面的東西。你也應該把它傳遞給bind_param()

    if ($db->error) 
    exit(); 
    
    if ($stmt = $db->prepare("INSERT INTO deneme VALUES (?,?,?)")) { 
    $adi='recep'; 
    $soyadi='saban'; 
    $no=5; 
    
    $stmt->bind_param('ssi',$adi,$soyadi,$no); 
    
    
    $stmt->execute(); 
    } 
    

    這也是一個好主意,告訴哪些列應該在你的數據庫來填充之前將值賦給變量:

    INSERT INTO deneme (column1, column2, column3) VALUES (?,?,?) 
    
    相關問題