本文整理汇总了PHP中sql_select函数的典型用法代码示例。如果您正苦于以下问题:PHP sql_select函数的具体用法?PHP sql_select怎么用?PHP sql_select使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sql_select函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: revisions_repair_unserialized_fragments
function revisions_repair_unserialized_fragments()
{
$res = sql_select("*", "spip_versions_fragments", "compress=" . intval(-1));
$n = sql_count($res);
spip_log("{$n} fragments a verifier", "maj");
while ($row = sql_fetch($res)) {
$fragment = $row['fragment'];
$set = array('compress' => 0);
// verifier que le fragment est bien serializable
if (unserialize($fragment) === false and strncmp($fragment, "corrompu", 8) !== 0) {
$dir_tmp = sous_repertoire(_DIR_TMP, "versions_fragments_corrompus");
$set['fragment'] = revisions_repair_serialise($fragment);
if (strncmp($set['fragment'], "corrompu", 8) == 0) {
$f = $row['id_fragment'] . "-" . $row['objet'] . "-" . $row['id_objet'];
spip_log("Fragment serialize corrompu {$f}", "maj" . _LOG_ERREUR);
$f = $f . "-serialize.txt";
ecrire_fichier($dir_tmp . $f, $fragment);
}
}
sql_updateq("spip_versions_fragments", $set, $w = "id_fragment=" . intval($row['id_fragment']) . " AND id_objet=" . intval($row['id_objet']) . " AND objet=" . sql_quote($row['objet']) . " AND version_min=" . intval($row['version_min']));
#spip_log($w,"maj");
if (time() > _TIME_OUT) {
return;
}
}
}
示例2: formulaires_delete_traiter_dist
function formulaires_delete_traiter_dist($id_article = 'new', $retour = '', $ajaxload = 'oui')
{
include_spip('base/abstract_sql');
include_spip('inc/texte');
include_spip('action/editer_article');
include_spip('inc/autoriser');
$article = _request('article');
$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
include_spip('inc/autoriser');
if (!autoriser('modifier', 'article', $article)) {
$id_article = false;
$result = sql_select('*', 'spip_auteurs_liens', 'id_objet=' . intval($article) . ' AND objet=' . sql_quote("article"));
if ($row = sql_fetch($result)) {
if ($row['id_auteur'] == $id_auteur) {
$id_article = $article;
}
}
} else {
$id_article = $article;
}
if ($id_article) {
// 2 actualizampos los campos del articulo
sql_updateq('spip_articles', array('statut' => 'poubelle'), 'id_article=' . intval($id_article));
// message
return array("editable" => true, "message_ok" => _T('cgeomap:message_delete') . ':' . $id_article);
} else {
// message
return array("editable" => false, "message_erreur" => _T('cgeomap:not_allowed'));
}
}
示例3: formulaires_ecatalogue_article_option_charger_dist
function formulaires_ecatalogue_article_option_charger_dist($id_article)
{
$valeurs = array();
if ($res = sql_select('id_rubrique', 'spip_articles', 'id_article=' . $id_article)) {
while ($r = sql_fetch($res)) {
$id_rubrique = $r['id_rubrique'];
}
}
$rubriques = array($id_rubrique);
$rubrique_mdl = new PdkRubriqueModel();
do {
// get all parents id
$rubrique = $rubrique_mdl->select_by_id($id_rubrique);
$id_rubrique = $rubrique['id_parent'];
$rubriques[] = $id_rubrique;
} while ($id_rubrique != '0');
$groupe_ids = array();
if ($res = sql_select('id_groupe', 'spip_ecatalogue_rubriques_groupes', 'id_rubrique in (' . implode(',', $rubriques) . ')')) {
while ($r = sql_fetch($res)) {
$groupe_ids[] = $r['id_groupe'];
}
}
$valeurs['groupe_ids'] = $groupe_ids;
$ao_mdl = new ArticleOptionModel();
$connections = $ao_mdl->select('id_article=' . $id_article);
foreach ($connections as $connection) {
$valeurs["options[" . $connection['id_option'] . "]"] = $connection['id_option'];
}
return $valeurs;
}
示例4: migrer_articles
function migrer_articles($where_articles, $champ_date_debut, $champ_date_fin, $horaire, $where_mots)
{
include_spip('action/editer_evenement');
$where_mots = implode(' AND ', $where_mots);
$nb = 0;
$res = sql_select('*', 'spip_articles', $where_articles);
while ($row = sql_fetch($res)) {
$id_evenement = evenement_inserer($row['id_article']);
// mettre les champs
$set = array('date_debut' => $row[$champ_date_debut], 'date_fin' => $row[$champ_date_fin], 'titre' => $row['titre'], 'horaire' => $horaire ? 'oui' : 'non');
evenement_modifier($id_evenement, $set);
// associer les mots : en sql pour ne pas exploser si plein de mots en base
$mots = sql_allfetsel('M.id_mot', 'spip_mots AS M JOIN spip_mots_liens AS L ON (M.id_mot=L.id_mot AND L.objet=' . sql_quote('article') . ')', 'id_objet=' . intval($row['id_article']) . ' AND (' . $where_mots . ')');
if (count($mots)) {
$insert = array();
foreach ($mots as $mot) {
$insert[] = array('id_mot' => $mot['id_mot'], 'objet' => 'evenement', 'id_objet' => $id_evenement);
}
sql_insertq_multi('spip_mots_liens', $insert);
}
// publier l'evenement
evenement_modifier($id_evenement, array('statut' => 'publie'));
$nb++;
}
return $nb;
}
示例5: getAPIKey
/**
* url: /?p=api_key
* Returns api_key for user by basic authentication
* {
* api_token: "TOKEN"
* }
*/
function getAPIKey()
{
header("Content-Type: application/json; charset=utf-8");
$user = $_SERVER["PHP_AUTH_USER"];
$password = $_SERVER["PHP_AUTH_PW"];
if ($user == "" || $password == "") {
// user is not authenticated
header("WWW-Authenticate: Basic realm=Authorization Required");
header("HTTP/1.1 401 unauthorized");
echo "{\"error\": \"please send basic auth header\"}";
die;
} else {
// check user
$foundUser = sql_select("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($user) . "'");
// find user by username
if (count($foundUser) == 1) {
$user = $foundUser[0];
if (verify_password($password, $user['Passwort'], $user['UID'])) {
echo "{\"api_token\": \"" . $user["api_key"] . "\"}";
}
} else {
// TODO: handle wrong auth
header("HTTP/1.1 403 Forbidden");
echo "{\"error\": \"forbidden\"}";
}
die;
}
}
示例6: formulaires_editer_json_article_traiter_dist
function formulaires_editer_json_article_traiter_dist($id_article = 'new', $retour = '')
{
$message = array('editable' => true, 'message_ok' => '');
$vhplab_json = _request('vhplab_json');
$vhplab_json_num = intval($vhplab_json);
if ($vhplab_json_num > 0) {
// comprobamos si el articulo ya ha sido relacionado con un id
$result = sql_select('*', 'spip_vhplab_json_liens', 'id_objet=' . intval($id_article) . ' AND objet=' . sql_quote("article"));
if ($row = sql_fetch($result)) {
// si el articulo ya ha sido relacionado con un id actualizamos el enlace
sql_updateq('spip_vhplab_json', array('id_json' => $vhplab_json_num), 'id_vhplab_json=' . intval($row['id_vhplab_json']));
$message['message_ok'] = _T('vhplab:json_update_ok');
} else {
// si el articulo no ha sido relacionado con ningún id creamos un enlace
$id_vhplab = sql_insertq("spip_vhplab_json", array('id_json' => $vhplab_json_num));
sql_insertq('spip_vhplab_json_liens', array('id_vhplab_json' => intval($id_vhplab), 'id_objet' => intval($id_article), 'objet' => 'article'));
$message['message_ok'] = _T('vhplab:json_insert_ok');
}
}
if ($retour) {
include_spip('inc/headers');
$message['message_ok'] .= redirige_formulaire($retour);
}
return $message;
}
示例7: action_documenter_post
function action_documenter_post($r)
{
// - sign indique le portfolio image ou document, dans le cas de
// la page exec=articles
// - id est l'id_objet (id_article ou id_rubrique etc)
// - type est 'article' (ou 'rubrique')
// - id_document le doc a supprimer ou a delier de l'objet
// SI VIDE, on supprime tous les documents du type SIGN
// (bouton "supprimer tous les documents")
list(, $sign, $id, $type, ,$id_document) = $r;
if ($id_document) {
supprimer_lien_document($id_document, $type, $id);
}
else {
$obj = "id_objet=".intval($id)." AND objet=".sql_quote($type);
$typdoc = sql_in('docs.extension', array('gif', 'jpg', 'png'), $sign ? '' : 'NOT');
$s = sql_select('docs.id_document AS id_doc', "spip_documents AS docs LEFT JOIN spip_documents_liens AS l ON l.id_document=docs.id_document", "$obj AND docs.mode='document' AND $typdoc");
while ($t = sql_fetch($s)) {
supprimer_lien_document($t['id_doc'], $type, $id);
}
}
if ($type == 'rubrique') {
include_spip('inc/rubriques');
depublier_branche_rubrique_if($id);
}
}
示例8: __construct
function __construct($userid = 0, $server = "", $database = "", $username = "", $password = "")
{
$this->userid = $userid;
$this->server_mysql = $server;
$this->user_mysql = $username;
$this->passw_mysql = $password;
$this->database_mysql = $database;
//
if ($server == "" or $database == "" or $username == "" or $password == "") {
// busca datos de conexion
echo "<pre>";
echo "server_mysql----->{$this->server_mysql}<br>";
echo "database_mysql--->{$this->database_mysql}<br>";
echo "user_mysql------->{$this->user_mysql}<br>";
echo "pass_mysql------->{$this->passw_mysql}<br>";
echo "</pre>";
//
$query = "SELECT `id`,`username`,`password`,`server`,`database`\n FROM `users`\n WHERE `usertype`='mysql' AND\n `userid`={$userid}";
echo "query---->{$query}<br>";
if (sql_select($query, $results)) {
if ($connection = $results->fetch(PDO::FETCH_ASSOC)) {
$this->server_mysql = $connection['server'];
$this->database_mysql = $connection['database'];
$this->user_mysql = $connection['username'];
$this->passw_mysql = $connection['password'];
}
}
}
$this->rowCount = 0;
if (!($this->dblink = new PDO('mysql:host=' . $this->server_mysql . ';dbname=' . $this->database_mysql . ';charset=utf8', $this->user_mysql, $this->passw_mysql))) {
echo "No es posible conectar con la base de datos " . $base_datos . "<br>";
return false;
}
}
示例9: action_supprimer_rubrique
function action_supprimer_rubrique($r)
{
list(,,$id_rubrique) = $r;
sql_delete("spip_rubriques", "id_rubrique=$id_rubrique");
sql_delete("spip_mots_rubriques", "id_rubrique=$id_rubrique");
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_rubriques", "id_rubrique=$id_rubrique");
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur");
if (!$n)
sql_updateq("spip_auteurs", array("statut" => '1comite'), "id_auteur=$id_auteur");
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
示例10: optimiser_base_revisions
/**
* Supprimer les révisions des objets disparus
*/
function optimiser_base_revisions()
{
/**
* On commence par récupérer la liste des types d'objet ayant au moins une révision
*/
$objets_revises = sql_select('objet', 'spip_versions', 'id_version=1', 'objet');
/**
* Pour chaque objet, on va contruire un tableau des identifiants disparus
* On supprimera ensuite les occurences dans spip_versions et spip_versions_fragments
*/
while ($objet = sql_fetch($objets_revises)) {
$in = array();
$table = table_objet_sql($objet['objet']);
$id_table_objet = id_table_objet($objet['objet']);
$res = sql_select("A.id_objet AS id_objet, A.objet AS objet", "spip_versions AS A LEFT JOIN {$table} AS R\n\t\t\t\t\t\t\tON R.{$id_table_objet}=A.id_objet AND A.objet=" . sql_quote($objet['objet']), "R.{$id_table_objet} IS NULL AND A.objet=" . sql_quote($objet['objet']) . " AND A.id_objet > 0", "A.id_objet", "A.id_objet");
while ($row = sql_fetch($res)) {
$in[$row['id_objet']] = true;
}
sql_free($res);
/**
* Si on a un array
* On supprime toute occurence des objets disparus dans :
* -* spip_versions
* -* spip_versions_fragments
*/
if ($in) {
foreach (array('spip_versions', 'spip_versions_fragments') as $table) {
sql_delete($table, sql_in('id_objet', array_keys($in)) . " AND objet=" . sql_quote($objet['objet']));
}
}
}
}
示例11: action_supprimer_rubrique_dist
/**
* Effacer une rubrique
*
* http://doc.spip.org/@action_supprimer_dist
*
* @param null $id_rubrique
* @return void
*/
function action_supprimer_rubrique_dist($id_rubrique = null)
{
if (is_null($id_rubrique)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$id_rubrique = $securiser_action();
}
if (intval($id_rubrique)) {
sql_delete("spip_rubriques", "id_rubrique=" . intval($id_rubrique));
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique));
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
// degrader avant de supprimer la restriction d'admin
// section critique sur les droits
$n = sql_countsel("spip_auteurs_liens", "objet='rubrique' AND id_objet!=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
if (!$n) {
include_spip('action/editer_auteur');
auteurs_set($id_auteur, array("statut" => '1comite'));
}
sql_delete("spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='rubrique/{$id_rubrique}'");
}
}
示例12: exec_editer_mots_args
function exec_editer_mots_args($id_objet, $objet)
{
$base="";
if (!$id_objet OR !$objet)
$droit = false;
elseif ($GLOBALS['connect_toutes_rubriques']) // pour eviter SQL
$droit = true;
elseif ($objet == 'article')
$droit = autoriser('modifier','article',$id_objet);
elseif ($objet == 'rubrique')
$droit = autoriser('publierdans','rubrique',$id_objet);
else {
if ($objet == 'breve')
$droit = sql_select("id_rubrique", "spip_breves", "id_breve=".sql_quote($id_objet));
else
$droit = sql_select("id_rubrique", "spip_syndic", "id_syndic=".sql_quote($id_objet));
$droit = autoriser('publierdans','rubrique',$droit['id_rubrique']);
}
$bases = array('article'=>'articles','breve'=>'breves_voir','rubrique'=>'naviguer','syndic'=>'sites');
if (isset($bases[$objet]))
$base = $bases[$objet];
if (!$droit) {
include_spip('inc/minipres');
echo minipres();
} else {
$ch = _request('cherche_mot');
$id_groupe = _request('select_groupe');
$editer_mots = charger_fonction('editer_mots', 'inc');
ajax_retour($editer_mots($objet, $id_objet, $ch, $id_groupe, 'ajax',false,$base));
}
}
示例13: inc_bank_editer_ticket_admin_dist
/**
* Generer un ticket resume de la transaction
* pour les admins indiques dans la configuration
*
* @param <type> $id_transaction
* @return <type>
*/
function inc_bank_editer_ticket_admin_dist($id_transaction)
{
// il faut avoir configure un ou des emails de notification
$c = unserialize($GLOBALS['meta']['bank_paiement']);
if (!strlen($email = $c['email_ticket_admin'])) {
spip_log(var_export($GLOBALS['meta']['bank_paiement'], true), 'bank_ticket');
return;
}
$ticket = "";
$res = sql_select("*", "spip_transactions", "id_transaction=" . intval($id_transaction));
if ($row = sql_fetch($res)) {
$montant = $row['montant_regle'];
$ticket .= "<h2>Transaction {$id_transaction}</h2>\n<table border='1'>";
foreach ($row as $k => $v) {
$ticket .= "<tr><td>{$k}</td><td>{$v}</td>";
}
$ticket .= "</table>";
}
// ensuite un pipeline pour editer le ticket
$ticket = pipeline('bank_editer_ticket_reglement', array('args' => array('id_transaction' => $id_transaction), 'data' => $ticket));
$ticket = "<html>{$ticket}</html>";
$header = "MIME-Version: 1.0\n" . "Content-Type: text/html; charset=" . $GLOBALS['meta']['charset'] . "\n" . "Content-Transfer-Encoding: 8bit\n";
$sujet = "Transaction OK #{$id_transaction} [" . affiche_monnaie($montant) . "]";
$url = parse_url($GLOBALS['meta']['adresse_site']);
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
$envoyer_mail($email, $sujet, $ticket, 'reglements@' . $url['host'], $header);
}
示例14: precharger_objet
/**
* Retourne les valeurs à charger pour un formulaire d'édition d'un objet
*
* Lors d'une création, certains champs peuvent être préremplis
* (c'est le cas des traductions)
*
* @param string $type
* Type d'objet (article, breve...)
* @param string|int $id_objet
* Identifiant de l'objet, ou "new" pour une création
* @param int $id_rubrique
* Identifiant éventuel de la rubrique parente
* @param int $lier_trad
* Identifiant éventuel de la traduction de référence
* @param string $champ_titre
* Nom de la colonne SQL de l'objet donnant le titre : pas vraiment idéal !
* On devrait pouvoir le savoir dans la déclaration de l'objet
* @return array
* Couples clés / valeurs des champs du formulaire à charger.
**/
function precharger_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre')
{
$table = table_objet_sql($type);
$_id_objet = id_table_objet($table);
// si l'objet existe deja, on retourne simplement ses valeurs
if (is_numeric($id_objet)) {
return sql_fetsel("*", $table, "{$_id_objet}={$id_objet}");
}
// ici, on demande une creation.
// on prerempli certains elements : les champs si traduction,
// les id_rubrique et id_secteur si l'objet a ces champs
$desc = lister_tables_objets_sql($table);
# il faudrait calculer $champ_titre ici
$is_rubrique = isset($desc['field']['id_rubrique']);
$is_secteur = isset($desc['field']['id_secteur']);
// si demande de traduction
// on recupere les valeurs de la traduction
if ($lier_trad) {
if ($select = charger_fonction("precharger_traduction_" . $type, 'inc', true)) {
$row = $select($id_objet, $id_rubrique, $lier_trad);
} else {
$row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
}
} else {
$row[$champ_titre] = '';
if ($is_rubrique) {
$row['id_rubrique'] = $id_rubrique;
}
}
// calcul de la rubrique
# note : comment faire pour des traductions sur l'objet rubriques ?
if ($is_rubrique) {
// appel du script a la racine, faut choisir
// admin restreint ==> sa premiere rubrique
// autre ==> la derniere rubrique cree
if (!$row['id_rubrique']) {
if ($GLOBALS['connect_id_rubrique']) {
$row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
} else {
$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", 1);
$row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
}
if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && ($row_rub = sql_fetch($res))) {
$row['id_rubrique'] = $row_rub['id_rubrique'];
}
}
}
}
// recuperer le secteur, pour affecter les bons champs extras
if ($id_rubrique and $is_secteur) {
if (!$row['id_secteur']) {
$row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . sql_quote($id_rubrique));
$row['id_secteur'] = $row_rub;
}
}
return $row;
}
示例15: admin_repair_plat
function admin_repair_plat(){
spip_log("verification des documents joints");
$out = "";
$repertoire = array();
include_spip('inc/getdocument');
$res = sql_select('*','spip_documents',"fichier REGEXP CONCAT('^',extension,'[^/\]') AND distant='non'");
while ($row=sql_fetch($res)){
$ext = $row['extension'];
if (!$ext) {
spip_log("document sans extension: " . $row['id_document']);
continue;
}
if (!isset($repertoire[$ext])){
if (@file_exists($plat = _DIR_IMG. $ext .".plat"))
spip_unlink($plat);
$repertoire[$ext] = creer_repertoire_documents($ext);
if (preg_match(',_$,',$repertoire[$ext]))
$repertoire[$ext] = false;
}
if ($d=$repertoire[$ext]){
$d = substr($d,strlen(_DIR_IMG));
$src = $row['fichier'];
$dest = $d . substr($src,strlen($d));
if (deplacer_fichier_upload(_DIR_IMG . $src, _DIR_IMG . $dest)) {
sql_updateq('spip_documents',array('fichier'=>$dest),'id_document='.intval($row['id_document']));
spip_unlink(_DIR_IMG . $src);
$out .= "$src => $dest<br />";
}
}
}
return $out;
}