Есть несколько способов обработки этого, однако первый из вас нужно прекратить использование устаревших mysql_
расширений. «Устаревшие» означает, что они больше не включены в PHP, и в скором времени перестанет работать, как говорится на официальном сайте PHP здесь: http://php.net/manual/en/function.mysql-fetch-array.php
Предупреждение
Это расширение нежелателен РНР 5.5.0, и будет удалено в будущем в . Вместо этого следует использовать расширение MySQLi или PDO_MySQL. См. Также MySQL: выбор руководства по API и связанных с ним вопросов для получения дополнительной информации о . Альтернативы этой функции включают в себя:
mysqli_fetch_array()
PDOStatement::fetch()
Вы можете использовать mysqli_real_escape_string «уйти» переменные, однако это гораздо лучше использовать подготовленные заявления. Либо mysqli_
, либо PDO
будут работать.
В этом случае, когда вы получаете переменные с помощью выбора, вы можете сделать следующее (неясно, где вы получаете переменные, но давайте использовать это как предположение), вы должны подключиться к своей базе данных следующим образом:
$conn = new mysqli($host, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $dbc->connect_error);
$stmt = $conn->prepare(select name, title, content, rating, time from tablename where variable = ?);
// this is assuming that this is a string, so "s" is used, otherwise use "i" for string
$stmt->bind_param("s",$variable);
$stmt->execute();
//then you can bind your results into tidy variables all of which have been "escaped"
$stmt->bind_result($name, $title, $content, $rating, $time);
$stmt->close();
Чтобы получить переменные, insteady использования mysql_fetch_array()
вы просто использовать $stmt->fetch();
или как это:
while (stmt->fetch()) {
[stuff here]
}
voila, ваши переменные довольно чисты. Примечание:, в то время как они будут обрабатывать цитаты, апострофы и т. Д., Они также будут намного более безопасными для защиты от наложения SQL. Вы также можете использовать PDO.
Вам не нужно избегать его, если оно предназначено для просмотра. Если нет ввода пользователем, я не понимаю, почему вы хотите «убежать» от чего-либо. Если вы действительно этого хотите, тогда используйте 'stripslashes' http://php.net/manual/en/function.stripslashes.php даже тогда, возможно, это не то, что вы хотите. Как я уже сказал, нет необходимости избегать этого, если это просто для показа целей. –
good point @ Fred-ii- Я считаю, что легче использовать подготовленные заявления, не нужно бежать, «stripslashes» и т. Д. Со всеми дополнительными преимуществами – nomistic
* «Все, что имеет' '' дает ошибку. * * Покажите нам, что ошибка. –