(LOCATE('".$_REQUEST['desc']."', descUser) > 0)
Mostrando entradas con la etiqueta BD: mysqli. Mostrar todas las entradas
Mostrando entradas con la etiqueta BD: mysqli. Mostrar todas las entradas
Fechas: sacar de la BD aquellos registros si la fecha actual es superior a una hora a la guarda en el campo de la tabla
$sql = "select * where TIME_TO_SEC(TIMEDIFF(NOW(), update_at))>(1*3600)";
MySQL y SQLServer: Concatenar el valor de dos o más campos en un único campo
select concat(campo1,"<br><br>",campo2,"<br><br>",campo3) as resumen, campo4, campo5 from tabla
El resutado de la query:
resumen, campo4, campo5
mysqli: prepared-statements
En db_mysqli.inc.php crear:
Ejemplo select normal:
Ejemplo select con comodín:
Ejemplo insert:
Ejemplo update:
Ejemplo delete:
// *****************************
function prepare($query) {
return mysqli_prepare($this->Conex_ID, $query);
}
// ***************************
function query($Query_String, $a_param_type, $a_bind_params) {
$stmt = $this->prepare($Query_String);
if($stmt === false) {
trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->errno . ' ' . $conn->error, E_USER_ERROR);
}
/* Bind parameters. Types: s = string, i = integer, d = double, b = blob */
$a_params = array();
$param_type = '';
$n = count($a_param_type);
for($i = 0; $i < $n; $i++) {
$param_type .= $a_param_type[$i];
}
$a_params[] = & $param_type;
for($i = 0; $i < $n; $i++) {
$a_params[] = & $a_bind_params[$i];
}
call_user_func_array(array($stmt, 'bind_param'), $a_params);
$stmt->execute();
$result = $stmt->get_result();
return $result;
}
Ejemplo select normal:
require("db_mysql.inc.php");
require("db.php");
$db = new db;
$arrTipoBind = array("i");
$arrBind = array("6");
$sql = "select * from usuarios where id > ?";
$result = $db->query($sql, $arrTipoBind, $arrBind);
while($row = $result->fetch_assoc()) {
echo $row["id"].":".$row["nombre"].":".$row["email"].":".$row["webs"]."<br>";
}
Ejemplo select con comodín:
require("db_mysql.inc.php");
require("db.php");
$db = new db;
$arrTipoBind = array("s");
$arrBind = array("gmail.com");
$sql = "select * from usuarios where email LIKE CONCAT('%',?,'%') ";
$result = $db->query($sql, $arrTipoBind, $arrBind);
while($row = $result->fetch_assoc()) {
echo $row["nombre"].":".$row["email"]."<br>";
}
Ejemplo insert:
require("db_mysql.inc.php");
require("db.php");
$db = new db;
$arrTipoBind = array("s", "s", "i");
$arrBind = array("ocho", "ocho@gmail.com","88");
$sql = "insert into usuarios(nombre, email, webs) values (?,?,?)";
$result = $db->query($sql, $arrTipoBind, $arrBind);
Ejemplo update:
require("db_mysql.inc.php");
require("db.php");
$db = new db;
$arrTipoBind = array("i", "s");
$arrBind = array("99", "gmail.com");
$sql = "update usuarios set webs = ? where email LIKE CONCAT('%',?,'%')";
$result = $db->query($sql, $arrTipoBind, $arrBind);
Ejemplo delete:
require("db_mysql.inc.php");
require("db.php");
$db = new db;
$arrTipoBind = array("i");
$arrBind = array("12");
$sql = "delete from usuarios where id = ?";
$result = $db->query($sql, $arrTipoBind, $arrBind);
MySQL: Replace
UPDATE your_table
SET your_field = REPLACE(your_field, 'articles/updates/', 'articles/news/')
WHERE your_field LIKE '%articles/updates/%'
MySQL: Ordenar por un campo que cumpla una condición específica
// Ordena primero los de Madrid capital y luego ordena por provincia, población
order by if (cp div 100 = 280,0,1), provincia, poblacion
// Ordenar Sevilla en order inverso al CP pero en el resto de provincias que siga igual
order by provincia, if (cp div 1000 = 41,1/cp,cp), poblacion
Mostrar error que genera una consulta a la BD
echo $db->Error
En SQL Server si da el error:Connection is busy with results for another hstmt
Significa que la query anterior no se ha limitado el número de resultados con TOP(1)
BD: mysqli
<?php
$host_name = "localhost";
$database = "mibasededatos";
$user_name = "root";
$password = "12345678";
$cnn = mysqli_connect($host_name, $user_name, $password, $database);
if (mysqli_connect_errno())
echo "ERROR AL conectar: " . mysqli_connect_error();
else
echo "TODO BIEN<hr>";
Consulta a la BD:
$query = "select * from pel_youtube where nom_pel_youtube like 'am%'";
$reg = mysqli_query($cnn, $query);
echo "LISTADO NORMAL<br>";
while ($row = mysqli_fetch_row($reg)){
echo $row[0].":".$row[1]."<br>";
}
echo "<hr>";
mysqli_data_seek($reg, 0);
echo "LISTADO ASOCIATIVO<br>";
while ($row = mysqli_fetch_assoc($reg)) {
echo $row["id"].":".$row["nom_pel_youtube"]."<br>";
}
mysqli_free_result($reg);
Para obtener el primero de una consulta directamente (sin tener que recorrer):
$result = mysqli_query($cnn, $query);
$row = $result->fetch_assoc();
echo $row["nombre"];
Para saber el número total de registros de la consulta:
$sqlAux = "select * from tabla";
$result = mysqli_query($cnn, $query);
echo "TOTAL REG:".mysqli_num_rows($result);
?>
Para hacer cualquier delete o update:
$sql = "update pel_youtube set nom_pel_youtube = 'xxxx' where id = 999";
$result = mysqli_query($cnn, $sql);
Si la query que has hecho en un insert para obtener el id del registro insertado:
$id_cliente = mysqli_insert_id($cnn);
Suscribirse a:
Entradas (Atom)
