2014-12-21 2 views
1

Я пытаюсь удалить строку из базы данных, а я использую следующий код. Когда я отправляю перезагрузку страницы, и если я проверяю db, строка все еще там. Нет ошибки, ничего. Что я могу сделать, чтобы решить эту проблему?php query_mysql ничего не возвращает

HTML

<div class="delete_row"> 
    Sterge 
    <form method="post" action=""> 
    *<input type="text" name="id_col" Placeholder="Id-ul coloanei"><br> 
    <input type="submit" name="submit1" value="Sterge"> 
    </form> 
</div> 

PHP

$id_stergere=isset($_POST["id_col"]); 
$submitcheck2=isset($_POST["submit1"]); 

if($submitcheck2 && $id_stergere !==0){ 
    $sql = "DELETE FROM evenimente WHERE ID_even=$id_stergere"; 
    $result = query_mysql($sql); 
} 
+1

Вы спрашиваете о 'mysql_query' в заголовке, но в вашем коде есть только' query_mysql' и '$ id_stergere' либо' 'true' или false', но не идентификатор. –

+0

это query_mysql, извините, и это ложь или правда? не получает ли это значение от ввода? –

+0

Вы знаете, что есть документация? [php: isset] (http://php.net/manual/en/function.isset.php) –

ответ

0
if (isset($_POST["id_col"])) 
    $id_stergere=$_POST["id_col"]; 

if (isset($_POST["submit1"])) 
    $submitcheck2=$_POST["submit1"]; 

//additional check: 
// if (!is_numeric($id_stergere)) die('there was a problem'); 
// if (!$submitcheck2) die('there was a problem'); 

    $sql = "DELETE FROM evenimente WHERE ID_even=".$id_stergere; 
    $result = mysql_query($sql); 
+0

Спасибо, чувак! То, что мне нужно, теперь имеет смысл. –

0

query_mysql?

Используйте это для PHP:

error_reporting(E_ALL^E_NOTICE); 

if(isset($_POST['submit1'])){ 

    $id_stergere=$_POST["id_col"]; 
    $submitcheck2=$_POST["submit1"]; 

    if($submitcheck2 && $id_stergere){ 
     $sql = "DELETE FROM evenimente WHERE ID_even=$id_stergere"; 
     $result = mysql_query($sql); 
    } 
} 

Вы должны использовать MySQLi вместо хотя.

Используйте это вместо $sql = and $result = :

$link = mysqli_connect("localhost","db","password","user") or die("Error " . mysqli_error($link)); 
$query= "DELETE FROM evenimente WHERE ID_even=$id_stergere"; 
$result= mysqli_query($link,$query); 

Чтобы получить NumRows использовать это:

$numrows = $result->num_rows; 

Для fetch_array:

while($row = $result->fetch_array()){ 

     $var= $row['field']; 
} 

UPDATE: Добавить е rror_reporting(E_ALL^E_NOTICE); к началу скрипта php.

+0

'isset' возвращает 'bool', так как это' $ id_stergere' никогда не будет _id_, это будет либо 'true', либо' false'. –

+0

См. Обновление - делал это, как вы разместили это :) –

+0

Я не понимаю, зачем мне fetch_array, если я просто хочу его удалить? Вы можете мне объяснить, пожалуйста? –

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