Удалить строку MySQL

Я использую PHP 7 и последние <? php $ dbhost = 'localhost: 3036' ; $ dbuser = 'root' ; $ dbpass = 'пароль' ; $ conn = mysql_connect ( $ dbhost , $ dbuser , $ dbpass ); $ sql = "DELETE FROM databasetable WHERE collumA LIKE '% Test7%'" ; mysql_select_db ( 'jdbdev' ); $ retval = mysql_query ( $ sql , $ conn ); if (! $ retval ) { die ( 'Не удалось удалить данные:' . mysql_error ()); } echo "Удаленные данные успешно n" ; mysql_close ( $ conn ); ?> на ubuntu 16.10. Это текущий код, который у меня есть

DELETE FROM databasetable WHERE collumA как '% Test7%' "defaultprintprint prettyprinted">=

php,mysql,sql,

0

Ответов: 6


0

должен измениться ниже запроса

like

Существует разница между оператором =и "DELETE FROM databasetable WHERE collumA LIKE '%Test7%'"оператором


0

Если вы хотите использовать wildcard%, тогда вы должны использовать LIKE вместо =, поэтому измените свой sql на:

mysql

Кроме того, mysqlфункции уязвимы для SQL-инъекций, вы должны использовать mysqliили даже лучше PDOуправлять своей базой данных.


0
$sql = "DELETE FROM databasetable WHERE collumA= '%Test7%'" ;

должен быть columnA, как '% test7%'

$sql = "DELETE FROM databasetable WHERE columnA like '%test7%'

Например, и = оба разные .


0

Для меня не совсем понятно, что вы пытаетесь выполнить с помощью этого: WHERE collumA = '% Test7%' ";

Является ли знак процента литеральным, который должен совпадать именно так? Как вы, наверное, знаете, знак процента - это подстановочный знак в mysql, и его следует использовать с LIKE, а не с равным.

В этом случае ваше состояние будет: WHERE collumA LIKE '%Test7%'


0

Пытаться:

<?php
        $dbhost = 'localhost';
        $dbuser = 'root';
        $dbpass = 'password';
        $db_name = 'jdbdev';
        $conn = mysqli($dbhost, $dbuser, $dbpass, $db_name);

        try{
         if($conn->connect_error){
          echo 'Could not establish connection to database because '.$conn->connect_error;
            }
        }catch(Exception $ex){
          echo $ex->getMessage();
          exit;
          }

         $sql =  "DELETE FROM databasetable WHERE databasetable.collumA LIKE '%Test7%'";
        $retval = $conn->query($sql);

        if($retval === FALSE) {
           die('Could not delete data: ' . mysql_error());
        }

        echo "Deleted data successfully
";

        mysql_close($conn);

?>

Иногда вам приходится ссылаться на таблицу базы данных infront столбца

PHP, MySQL, SQL,
Похожие вопросы