Mysql
 sql >> база данни >  >> RDS >> Mysql

Неуспешна SQL LIKE заявка - фатална грешка в подготвената инструкция

За LIKE клауза, използвайте това:

SELECT ARTICLE_NO FROM AUCTIONS1 WHERE upper(ARTICLE_NAME) LIKE CONCAT('%', ?, '%')

Що се отнася до името на таблицата, е изключително лоша практика да има имена на таблици като параметри.

Ако по някаква причина все пак трябва да го направите, ще трябва да го вградите в текста на заявката, преди да подготвите заявката:

$countQuery = "SELECT ARTICLE_NO FROM $table_name WHERE upper(ARTICLE_NAME) LIKE CONCAT('%', ? ,'%')";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $data = $con->query($countQuery) or die(print_r($con->error));
    $rowcount = mysql_num_rows($data);
    $rows = getRowsByArticleSearch($query, $table, $max);
    $last = ceil($rowcount/$page_rows);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преименувайте MySQL база данни

  2. MySQL не използва индекси с клауза WHERE IN?

  3. Разлика между ключ, първичен ключ, уникален ключ и индекс в MySQL

  4. Каква е ползата от Zerofill в MySQL?

  5. Как да използвам SUBSTRING() в MySQL