2010-07-02 01:48:07 +02:00
|
|
|
<?php
|
2018-01-25 03:08:45 +01:00
|
|
|
|
2018-07-20 14:19:26 +02:00
|
|
|
use Friendica\Database\DBA;
|
2010-07-02 01:48:07 +02:00
|
|
|
|
2017-09-15 08:07:34 +02:00
|
|
|
/**
|
|
|
|
* @brief execute SQL query with printf style args - deprecated
|
|
|
|
*
|
|
|
|
* Please use the dba:: functions instead:
|
|
|
|
* dba::select, dba::exists, dba::insert
|
|
|
|
* dba::delete, dba::update, dba::p, dba::e
|
|
|
|
*
|
|
|
|
* @param $args Query parameters (1 to N parameters of different types)
|
2018-01-06 03:05:18 +01:00
|
|
|
* @return array|bool Query array
|
2017-09-15 08:07:34 +02:00
|
|
|
*/
|
2012-04-12 15:50:11 +02:00
|
|
|
function q($sql) {
|
2017-04-24 08:24:03 +02:00
|
|
|
$args = func_get_args();
|
|
|
|
unset($args[0]);
|
2011-01-11 05:14:19 +01:00
|
|
|
|
2018-07-20 14:19:26 +02:00
|
|
|
if (!DBA::$connected) {
|
2017-09-14 07:19:05 +02:00
|
|
|
return false;
|
|
|
|
}
|
2017-01-13 08:46:47 +01:00
|
|
|
|
2018-07-21 03:59:17 +02:00
|
|
|
$sql = DBA::cleanQuery($sql);
|
2018-07-21 03:58:30 +02:00
|
|
|
$sql = DBA::anyValueFallback($sql);
|
2017-09-14 07:19:05 +02:00
|
|
|
|
|
|
|
$stmt = @vsprintf($sql, $args);
|
|
|
|
|
2018-07-20 14:19:26 +02:00
|
|
|
$ret = DBA::p($stmt);
|
2017-01-13 08:46:47 +01:00
|
|
|
|
2017-09-14 07:19:05 +02:00
|
|
|
if (is_bool($ret)) {
|
|
|
|
return $ret;
|
2012-04-12 15:50:11 +02:00
|
|
|
}
|
2011-01-11 05:14:19 +01:00
|
|
|
|
2018-07-20 14:19:26 +02:00
|
|
|
$columns = DBA::columnCount($ret);
|
2017-09-14 07:19:05 +02:00
|
|
|
|
2018-07-21 04:03:40 +02:00
|
|
|
$data = DBA::toArray($ret);
|
2017-09-14 07:19:05 +02:00
|
|
|
|
|
|
|
if ((count($data) == 0) && ($columns == 0)) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return $data;
|
2017-03-05 22:56:50 +01:00
|
|
|
}
|