Что означает %s
означает?Что означает% s здесь?
$sql = "SELECT *
FROM page_table
WHERE page_name = '%s'
LIMIT 1";
Что означает %s
означает?Что означает% s здесь?
$sql = "SELECT *
FROM page_table
WHERE page_name = '%s'
LIMIT 1";
%s
является заполнителем используется в функциях, как sprintf. Проверьте руководство для других возможных заполнителей.
$sql = sprintf($sql, "Test");
Это заменит %s
строкой «Тест». Он также используется, чтобы удостовериться, что переданный параметр действительно соответствует местозаполнителю. Вы можете использовать %d
в качестве заполнителя для цифр, но если sprintf получит строку, она будет жаловаться.
Это форматированная строка, где %s
является заполнителем. Я подозреваю, что $ sql передается sprintf, чтобы преобразовать его в реальный запрос. Пример:
$name = 'posts';
$sql = "SELECT * FROM page_table WHERE page_name = '%s' LIMIT 1";
$formattedSql = sprintf($sql, $name);
Это будет генерировать запрос выглядит как:
SELECT * FROM page_table WHERE page_name = 'posts' LIMIT 1
Это очень полезно, когда вы не хотите возиться с кавычками и doublequotes.
Я думаю, что% s является символом формата для sprintf.
Следующая строка кода может быть STH так:
$sqlquery = sprintf($sql, 'mySearchString');
Real Запрос будет:
SELECT * FROM page_table WHERE имя_страницы = LIMIT 'mySearchString' 1
мы используем% s для символьного кода, так как ASCII 65 равен 'A', поэтому до 91 'Z', чтобы лучше понять, вы можете использовать для цикла, начиная с 65 до 91, внутри этого для результата печати цикла, используя printf
for($i=65; $i<91; $i++){ printf('%s ', chr($i)); }
Над напечатает
А В С D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z
Хороший вызов, я бы путать его с 'LIKE«% s'' в первом чтении. – briantyler