Учусь по книге Изучаем PHP и MySQL Не понимаю зачем в куске кода(ниже) сделана конкатенация Код (Text): while ($row = mysqli_fetch_array($result)) { echo '<input type="checkbox" value=" ' . $row['id'] . ' " name="todelete[]"> '; ............. Первые ковычки понятно тк html код. Даллее в двойных переменная. А вот следующий код как обьяснить? Код (Text): ' . $row['id'] . '
Чтож там за книга такая, где нет объяснения? Вам суда: php.net/manual/ru/language.operators.string.php
это там есть только почему именно так, а не так например Код (Text): <input type="checkbox" value="$row['id']" name="todelete[]"> '; или Код (Text): <input type="checkbox" value=" '$row['id']' " name="todelete[]"> '; ???
Вот так Код (Text): <input type="checkbox" value=" '$row['id']' " name="todelete[]"> '; Добавлено спустя 2 минуты 34 секунды: Вот обычно же так делаем Код (Text): value="<?php echo $row['id'];?>">
Код (PHP): echo '<input type="checkbox" value=" ' . $row['id'] . ' " name="todelete[]"> '; может так будет яснее. А твоя конструкция не работоспособна
vs, да, да, да А если так? Код (Text): echo '<input type="\text\" value='; echo $row['id']; echo 'name=\"todelete[]\">';
Так норм, потому что переменная не в кавычках. Кстати, даже в двойных кавычках, так просто к элементу массива не обратишься. Нужны скобки Код (Text): echo "{$row['id]}";
Код (Text): Нужны скобки Конечно, он захватывает максимум символов. Мне другое не очень понятно: почему в sql-запросах можно брать переменные в одинарные кавычки или интерпретатор отдает sql-серверу сразу при разборе
Необязательно с sql Код (Text): $i='Hello'; echo "('$i' )"; Скорее со скобками. А ну хотя понял, тут ' интерпретируется как символ в строке. Или допустим: Код (Text): $result = mysql_query("select * from news where head like '%$search%' limit 20") переменная в скобках
И что не понятно? Скобки тут причем? Ты запусти поэксперементируй разобраться же совсем просто. Может ты хочешь сказать кавычки? '%$search%' а если без кавычек mysql пропустит?
Видел часто в запросах в скобках много точек, кавычек и т.д. Mysql, ведь, принимает в одинарных кавычках, навороты и хитросплетения, оказывается, от незнания.
SQL и PHP это совершенно разные и не связанные друг с другом языки. Добавлено спустя 8 минут 44 секунды: В SQL двойные и одинарные кавычки эквивалентны. И еще используются обратные кавычки (`) для выделения имен таблиц и полей, чтобы они не воспринимались как слова синтаксиса. К примеру, если таблица называется insert и её указать без апострофов, то возникнет ошибка.
Вполне сработает echo "$row[id]". Коряво, но безотказно. Пока в какой-нибудь версии PHP слово id не превратится в зарезервированную константу