что означает% s здесь? - PullRequest
       3

что означает% s здесь?

3 голосов
/ 16 апреля 2011

Что означает %s?

$sql = "SELECT * 
          FROM page_table 
         WHERE page_name = '%s' 
         LIMIT 1";

Ответы [ 5 ]

9 голосов
/ 16 апреля 2011

Это отформатированная строка, где %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

Это очень полезно, когда вы не хотите возиться с кавычками и двойными кавычками.

1 голос
/ 16 апреля 2011

Я полагаю,% s является символом формата для sprintf .

Следующая строка кода может выглядеть следующим образом:

$sqlquery = sprintf($sql, 'mySearchString');

Реальный запрос будет:

SELECT * FROM page_table WHERE page_name = 'mySearchString' LIMIT 1

1 голос
/ 16 апреля 2011

%s - это заполнитель, используемый в таких функциях, как sprintf . Проверьте руководство для других возможных заполнителей.

$sql = sprintf($sql, "Test");

Это заменит %s на строку "Тест". Он также используется, чтобы убедиться, что переданный параметр действительно соответствует заполнителю. Вы можете использовать %d в качестве заполнителя для цифр, но если sprintf получит строку, он будет жаловаться.

0 голосов
/ 18 сентября 2018
$sql = "SELECT * 
          FROM page_table 
         WHERE page_name = '%s' 
         LIMIT 1";
$sql = sprintf($sql, "page");

даст вам что-то вроде этого.

$sql =select * from page_table where page_name='page' LIMIT 1";
0 голосов
/ 28 августа 2014

мы используем% s для символьного кода, поскольку ASCII 65 - это «A», поэтому до 91 «Z», чтобы лучше понять, что вы можете использовать для цикла, начинающегося с 65 до 91, в нем для результата печати цикла, используя printf

for($i=65; $i<91; $i++){ printf('%s ', chr($i)); }

Выше будет напечатано

ABCDEFGHIJKLMNOPQRSTU VWXYZ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...