У меня есть немного более длинный форматер для JavaScript здесь ...
Вы можете сделать форматирование несколькими способами:
String.format(input, args0, arg1, ...)
String.format(input, obj)
"literal".format(arg0, arg1, ...)
"literal".format(obj)
Кроме того, если вы говорите ObjectBase.prototype.format (например, с DateJS ) он будет использовать это.
Примеры ...
var input = "numbered args ({0}-{1}-{2}-{3})";
console.log(String.format(input, "first", 2, new Date()));
//Outputs "numbered args (first-2-Thu May 31 2012...Time)-{3})"
console.log(input.format("first", 2, new Date()));
//Outputs "numbered args(first-2-Thu May 31 2012...Time)-{3})"
console.log(input.format(
"object properties ({first}-{second}-{third:yyyy-MM-dd}-{fourth})"
,{
'first':'first'
,'second':2
,'third':new Date() //assumes Date.prototype.format method
}
));
//Outputs "object properties (first-2-2012-05-31-{3})"
Я также связался с .asFormat и у меня есть определенное место на случай, если уже есть string.format (например, с MS Ajax Toolkit (я ненавижу эту библиотеку).
Используйте mysql_num_rows :
if (mysql_num_rows($result)) {
//do stuff
}
ну ...
по определению mysql_query:
mysql_query () возвращает ресурс на успех или FALSE при ошибке.
но что вам нужно понять, так это то, что если эта функция возвращает значение, отличное от FALSE, запрос был выполнен без проблем (правильный синтаксис, соединение все еще живо и т. д.), но это не означает, что вы запрашиваете возвращает некоторую строку.
например
<?php
$result = mysql_query("SELECT * FROM a WHERE 1 = 0");
print_r($result); // => true
?>
, поэтому, если вы получите FALSE, вы можете использовать
mysql_errorno ()
и mysql_error ()
, чтобы узнать, что произошло ..
после с этим:
вы можете использовать mysql_fetch_array () для получения построчно из запроса
Извлекает количество строк из набора результатов. Эта команда действительна только для таких операторов, как SELECT или SHOW, которые возвращают фактический набор результатов.
Если совпадений нет, то возвращаемое значение будет ноль и фактически FALSE
.
$result = mysql_query($query);
if(mysql_num_rows($result))
{ //-- non-empty rows found fitting your SQL query
while($row = mysql_fetch_array($result))
{//-- loop through the rows,
//-- each time resetting an array, $row, with the values
}
}
Что хорошо, если вы только вытащите из базы данных. Если вы изменяете или удаляете строки из базы данных и хотите узнать, сколько из них было затронуто ...
Чтобы получить количество строк, затронутых запросом INSERT, UPDATE, REPLACE или DELETE, используйте
mysql_affected_rows ()
.
$result = mysql_query($query);
if(mysql_affected_rows())
{ //-- database has been changed
}
//-- if you want to know how many rows were affected:
echo 'Rows affected by last SQL query: ' .mysql_affected_rows();
mysql_query ()
вернет только FALSE
, если запрос завершился неудачно. Он вернет ИСТИНА
, даже если у вас нет строк, но вы успешно запросили базу данных.
Если совпадений нет, то возвращаемое значение будет ноль и фактически FALSE
.
$result = mysql_query($query);
if(mysql_num_rows($result))
{ //-- non-empty rows found fitting your SQL query
while($row = mysql_fetch_array($result))
{//-- loop through the rows,
//-- each time resetting an array, $row, with the values
}
}
Что хорошо, если вы только вытащите из базы данных. Если вы изменяете или удаляете строки из базы данных и хотите узнать, сколько из них было затронуто ...
Чтобы получить количество строк, затронутых запросом INSERT, UPDATE, REPLACE или DELETE, используйте
mysql_affected_rows ()
.
$result = mysql_query($query);
if(mysql_affected_rows())
{ //-- database has been changed
}
//-- if you want to know how many rows were affected:
echo 'Rows affected by last SQL query: ' .mysql_affected_rows();
mysql_query ()
вернет FALSE
, только если запрос завершился неудачно. Он вернет ИСТИНА
, даже если у вас нет строк, но вы успешно запросили базу данных.
Если совпадений нет, то возвращаемое значение будет ноль и фактически FALSE
.
$result = mysql_query($query);
if(mysql_num_rows($result))
{ //-- non-empty rows found fitting your SQL query
while($row = mysql_fetch_array($result))
{//-- loop through the rows,
//-- each time resetting an array, $row, with the values
}
}
Что хорошо, если вы только вытащите из базы данных. Если вы изменяете или удаляете строки из базы данных и хотите узнать, сколько из них было затронуто ...
Чтобы получить количество строк, затронутых запросом INSERT, UPDATE, REPLACE или DELETE, используйте
mysql_affected_rows ()
.
$result = mysql_query($query);
if(mysql_affected_rows())
{ //-- database has been changed
}
//-- if you want to know how many rows were affected:
echo 'Rows affected by last SQL query: ' .mysql_affected_rows();
mysql_query ()
вернет FALSE
, только если запрос завершился неудачно. Он вернет ИСТИНА
, даже если у вас нет строк, но вы успешно запросили базу данных.
$result = mysql_query($query);
if(mysql_num_rows($result))
{ //-- non-empty rows found fitting your SQL query
while($row = mysql_fetch_array($result))
{//-- loop through the rows,
//-- each time resetting an array, $row, with the values
}
}
Что все хорошо, если вы вытаскиваете только из базы данных. Если вы изменяете или удаляете строки из базы данных и хотите узнать, сколько из них было затронуто ...
Чтобы получить количество строк, затронутых запросом INSERT, UPDATE, REPLACE или DELETE, используйте
mysql_affected_rows ()
.
$result = mysql_query($query);
if(mysql_affected_rows())
{ //-- database has been changed
}
//-- if you want to know how many rows were affected:
echo 'Rows affected by last SQL query: ' .mysql_affected_rows();
mysql_query ()
вернет FALSE
, только если запрос завершился неудачно. Он вернет ИСТИНА
, даже если у вас нет строк, но вы успешно запросили базу данных.
$result = mysql_query($query);
if(mysql_num_rows($result))
{ //-- non-empty rows found fitting your SQL query
while($row = mysql_fetch_array($result))
{//-- loop through the rows,
//-- each time resetting an array, $row, with the values
}
}
Что все хорошо, если вы только вытащите из базы данных. Если вы изменяете или удаляете строки из базы данных и хотите узнать, сколько из них было затронуто ...
Чтобы получить количество строк, затронутых запросом INSERT, UPDATE, REPLACE или DELETE, используйте
mysql_affected_rows ()
.
$result = mysql_query($query);
if(mysql_affected_rows())
{ //-- database has been changed
}
//-- if you want to know how many rows were affected:
echo 'Rows affected by last SQL query: ' .mysql_affected_rows();
mysql_query ()
вернет только FALSE
, если запрос завершился неудачно. Он вернет ИСТИНА
, даже если у вас нет строк, но вы успешно запросили базу данных.
Если вы проверяете ровно одну строку:
if ($Row = mysql_fetch_object($result)) {
// do stuff
}
Вы можете использовать вместо него mysql_fetch_array ()
или что-то еще, но принцип тот же. Если вы ожидаете 1 или более строк:
while ($Row = mysql_fetch_object($result)) {
// do stuff
}
Это будет повторяться до тех пор, пока не закончатся строки, после чего продолжится.
А как насчет этого:
$query = "SELECT * FROM members WHERE username = '$_CLEAN[username]'
AND password = '$_CLEAN[password]'";
$result = mysql_query($query);
$result = mysql_fetch_array($result);
//you could then define your variables like:
$username = $result['username'];
$password = $result['password'];
if ($result)
{ ...
Мне он нравится, потому что я могу быть очень конкретным с результатами, возвращаемыми из mysql_query.
-Иван Новак
Я использовал следующее:
if ($ result! = 0 && mysql_num_rows ($ result)) {
Если запрос ничего не возвращает, это будет логический результат и его значение будет 0.
Итак, вы проверяете, есть ли '
$sql = "SELECT columns FROM table";
$results = mysql_query($sql, $conn);
$nResults = mysql_num_rows($results);
if ($nResults > 0) {
//Hurray
} else {
//Nah
}
Это должно сработать.
$result = mysql_query(...);
if(false !== $result)
{
//...
}