2013-09-28 1 views
0

Я хочу, чтобы удалить строку из таблицы с помощью PHP pdo.I я использую следующий код,Хотите удалить строку из таблицы с помощью PHP PDO

$dsn = 'mysql:host=127.0.0.1;dbname=as1'; 
     $user = 'root'; 
     $password = ''; 
    try { 
     // Connect and create the PDO object 
    $pdo = new PDO($dsn, $user, $password); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
    } 
    catch(PDOException $e) { 
    echo 'Database connection failed - '; 
    echo $e->getMessage(); 
    exit; 
    } 
    $sql1="DELETE FROM photo WHERE id=?"; 
     $q1=array($result); 
           try { 
     $stmt1 = $pdo->prepare($sql1); 
     $stmt1->execute($q1); 
     $stmt1->setFetchMode(PDO::FETCH_BOTH); 

    $result1= $stmt1->fetchColumn(); 

    } 
    catch (PDOException $e) { 
     die("Failed to run query: " . $e->getMessage()); 
     } 

Но мои Данные в таблице, не удаляя ... Он показывает не удалось запустить запрос ..

+0

Вы помещаете свой SQL в '$ sql1', а затем подготовьте' $ sql' – andrewsi

+0

Поскольку у вас есть '$ result1 = $ stmt1-> fetchColumn();' вы должны использовать '$ q1 = array ($ result1); ' –

+0

Что такое сообщение об ошибке в инструкции' die'? –

ответ

0

Вы не предоставили значение для ?

$stmt1->execute($q); // Where is $q defined? 

Должно быть что-то вроде

$q=array(1); 
$stmt1->execute($q); 
+0

Возможно, OP должен использовать '$ stmt1-> execute ($ q1);' как из '$ q1 = array ($ result);' –

+0

Он говорит, что не удалось выполнить запрос – prakashfire

+0

@ Fred-ii- is right –

Смежные вопросы