2015-02-20 2 views
1

Я хочу удалить 3 поля из моей базы данных, когда я нажимаю на кнопку: fk_id_band, id_band и band.Trouble Отправка запроса в базу данных

Но у меня возникли проблемы с отправкой запроса mysql из моего файла PHP в базу данных.

У меня есть этот PHP код:

<?php 
    session_start(); 
    include('database.php'); 

    $id = $_SESSION['id']; 

    $select = "SELECT * 
    FROM users 
    WHERE id_user = ".$id.""; 

    $result = mysql_query($select); 

    $line = mysql_fetch_assoc($result); 

    $idband = $line["fk_id_band"]; 


    $sqldelete = "DELETE bands 
    FROM bands 
    WHERE id_band = ".$idband.""; 

    echo $sqldelete; 

    mysql_query($sqldelete);                                      
?> 

Когда я ввожу запрос в PHPMyAdmin, он работает. (DELETE bands FROM bands WHERE id_band = 1)

Однако, когда я использую mysql_query($sqldelete), он не обновляет базу данных автоматически, как мне кажется.

Что здесь не так?

+2

Попробуйте изменить последнюю строку на 'mysql_query ($ sqldelete) или умереть (mysql_error());' Это покажет какие-либо ошибки, который возвращает MySQL. – Barmar

+3

Вам не нужны два запроса. 'DELETE диапазоны ОТ диапазонов JOIN users ON id_band = fk_id_band WHERE id_user = $ id' – Barmar

+0

@Barmar спасибо! В нем говорится: «Не удается удалить или обновить родительскую строку: сбой внешнего ключа». Что мне делать? –

ответ

0

у вас есть ошибка синтаксиса в вашем ВЕЬЕТЕ

$id = $_SESSION['id']; 

$select = "select * from users WHERE ID = $id"; 
$result = mysql_query($select); 
$line = mysql_fetch_assoc($result); 

$idband = $line["fk_id_band"]; 
$sqldelete = "DELETE bands 
FROM bands 
WHERE id_band = ".$idband; 
echo $sqldelete; 

mysql_query($sqldelete); 
+0

В вашей инструкции 'DELETE' нет никакой разницы. Все, что вы сделали, это удалить '." ". Это конкатенирует пустую строку, которая не имеет никакого эффекта. – Barmar

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