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>';