alchars用于HTML,而不是SQL。您需要mysqli\u real\u escape\u字符串,或者使用参数化查询实际上,再看看,我认为您根本误解了SQL的工作原理。您似乎将其视为PHP将解释查询,而实际情况是SQL查询只是发送到数据库服务器的字符

alchars用于HTML,而不是SQL。您需要mysqli\u real\u escape\u字符串,或者使用参数化查询实际上,再看看,我认为您根本误解了SQL的工作原理。您似乎将其视为PHP将解释查询,而实际情况是SQL查询只是发送到数据库服务器的字符,php,mysql,Php,Mysql,alchars用于HTML,而不是SQL。您需要mysqli\u real\u escape\u字符串,或者使用参数化查询实际上,再看看,我认为您根本误解了SQL的工作原理。您似乎将其视为PHP将解释查询,而实际情况是SQL查询只是发送到数据库服务器的字符串。首先学习SQL本身,然后学习如何安全地将其插入PHP。这是我已经考虑过好几次的事情:我宁愿将内容逐字存储在DB中(只是SQL转义),如果需要,在检索时转义,例如在HTML页面中显示内容时,但没有恶意内容。当将它们插入数据库时,您可以逃避恶意


alchars用于HTML,而不是SQL。您需要mysqli\u real\u escape\u字符串,或者使用参数化查询实际上,再看看,我认为您根本误解了SQL的工作原理。您似乎将其视为PHP将解释查询,而实际情况是SQL查询只是发送到数据库服务器的字符串。首先学习SQL本身,然后学习如何安全地将其插入PHP。这是我已经考虑过好几次的事情:我宁愿将内容逐字存储在DB中(只是SQL转义),如果需要,在检索时转义,例如在HTML页面中显示内容时,但没有恶意内容。当将它们插入数据库时,您可以逃避恶意内容。当他们进入数据库时,他们是安全的。只要正常地检索它们,这段代码的错误远不止几个撇号!虽然这些都是有用的观点,但我认为最后一句话实际上是最重要的一句:OP解决问题的整个方式都是错误的。@老实说,我甚至不知道原始帖子到底发生了什么,怎么回事,这些都只是在黑暗中拍摄的……是的,我认为有一些相当深刻的误解导致了这段代码:)
$sql="select id,
        '" . htmlspecialchars(question, ENT_QUOTES) . "',
        '" . htmlspecialchars(option1, ENT_QUOTES) . "',
        '" . htmlspecialchars(option2, ENT_QUOTES) . "',
        '" . htmlspecialchars(option3, ENT_QUOTES) . "',
        '" . htmlspecialchars(option4, ENT_QUOTES) . "',
        '" . htmlspecialchars(correctAnswer, ENT_QUOTES) . "',
         '" . htmlspecialchars(category, ENT_QUOTES) . "',
          '" . htmlspecialchars(section, ENT_QUOTES) . "',
           '" . htmlspecialchars(chapter, ENT_QUOTES) . "'
           from $user order by id";
$sql="select id,
    '" . htmlspecialchars($question, ENT_QUOTES) . "',
    '" . htmlspecialchars($option1, ENT_QUOTES) . "',
    '" . htmlspecialchars($option2, ENT_QUOTES) . "',
    '" . htmlspecialchars($option3, ENT_QUOTES) . "',
    '" . htmlspecialchars($option4, ENT_QUOTES) . "',
    '" . htmlspecialchars($correctAnswer, ENT_QUOTES) . "',
     '" . htmlspecialchars($category, ENT_QUOTES) . "',
      '" . htmlspecialchars($section, ENT_QUOTES) . "',
       '" . htmlspecialchars($chapter, ENT_QUOTES) . "'
       from $user order by id";
htmlspecialchars($correctAnswer, ENT_QUOTES, 'UTF-8')
$sql="select `id`,
    `" . htmlspecialchars(question, ENT_QUOTES) . "`,
    `" . htmlspecialchars(option1, ENT_QUOTES) . "`,
    `" . htmlspecialchars(option2, ENT_QUOTES) . "`,
    `" . htmlspecialchars(option3, ENT_QUOTES) . "`,
    `" . htmlspecialchars(option4, ENT_QUOTES) . "`,
    `" . htmlspecialchars(correctAnswer, ENT_QUOTES) . "`,
     `" . htmlspecialchars(category, ENT_QUOTES) . "`,
      `" . htmlspecialchars(section, ENT_QUOTES) . "`,
       `" . htmlspecialchars(chapter, ENT_QUOTES) . "`
       from $user order by id";
     $sql="select id,
    question,
    option1,
    option2,
    option3, 
    option4, 
    correctAnswer,
     category, 
      section, 
     chapter 
       from $user order by id";
 $sql="select id,
'question',
'option1',
'option2',
'option3', 
'option4', 
'correctAnswer',
'category', 
'section', 
'chapter'
from $user order by id";
 $db_table_name_user = 'user';

 $sql="select id,
 question,
 option1,
 option2,
 option3, 
 option4, 
 correctAnswer,
 category, 
 section, 
 chapter 
 from $user order by id";
 $all_questions = get_all_questions_from_db();
 echo '<ol>';
 foreach ( $all_questions as $question )
 {
      echo '<li>' . htmlspecialchars($question['question']) . '</li>';
 }
 echo '</ol>';