Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
lunes, 8 de junio de 2009
sábado, 14 de febrero de 2009
Palabras reservadas que pueden crear conflicto con PEAR
De momento he encontrado las siguientes:
GROUP
INT
La solución más sencilla es añadir a los campos con ese nombre un guión bajo al final.
GROUP
INT
La solución más sencilla es añadir a los campos con ese nombre un guión bajo al final.
Error de sintaxis en MySQL usando PEAR
Con el siguiente código:
function executeCommand( $sql, $args )
{
global $db;
$sth = $db->prepare( $sql );
if (PEAR::isError($sth)) {
die($sth->getMessage());
}
echo "
$res=& $db->execute( $sth, $args );
if (PEAR::isError($res)) {
die($res->getMessage());
}
print_r($res);
return $res;
}
Si devuelve un error como éste: 'DB Error: syntax error', puede darse el caso de que alguno de los campos de la tabla se llamen igual que una palabra reservada. En mi caso había un campo llamado group, que obviamente entraba en conflicto con la palabra reservada GROUP. Es bueno tenerlo en cuenta cuando parece que las cosas no van sin motivo alguno.
function executeCommand( $sql, $args )
{
global $db;
$sth = $db->prepare( $sql );
if (PEAR::isError($sth)) {
die($sth->getMessage());
}
echo "
$sth de la sql $sql
";$res=& $db->execute( $sth, $args );
if (PEAR::isError($res)) {
die($res->getMessage());
}
print_r($res);
return $res;
}
Si devuelve un error como éste: 'DB Error: syntax error', puede darse el caso de que alguno de los campos de la tabla se llamen igual que una palabra reservada. En mi caso había un campo llamado group, que obviamente entraba en conflicto con la palabra reservada GROUP. Es bueno tenerlo en cuenta cuando parece que las cosas no van sin motivo alguno.
Referencia al último ID creado por una consulta INSERT en MySQL
last_insert_id[ ]
Con paréntesis, que en caso contrario molesta a los scripts del blog.
lunes, 9 de febrero de 2009
Funciones para seleccionar datos usando PHP y MySQL
Estas funciones facilitan la extracción de datos de una base de datos MySQL usando PHP.
function conectar(){
//Conecta y devuelve la variable conexión.
$conn = mysql_connect("localhost", tu_usuario, tu_password);
mysql_select_db(tu_db);
return $conn;
}
function escribeSelectSQL($campos,$tablas,$condicion){
$consulta="SELECT ";
//añado tantos campos como me haya enviado.
$limiteCampos=count($campos);
$limiteTablas=count($tablas);
for($contador=1;$contador<=$limiteCampos;$contador+=1){
$consulta=$consulta . $campos[$contador-1];
if ($contador<$limiteCampos){
//todavía quedan campos, así que habrá que añadir una coma.
$consulta=$consulta . ", ";
}else{
//añado un espacio, por si acaso.
$consulta=$consulta . " ";
}
} //fin del for para los campos.
$consulta=$consulta . " FROM ";
for($contador=1;$contador<=$limiteTablas;$contador+=1){
$consulta=$consulta . $tablas[$contador-1];
if ($contador<$limiteTablas){
//todavía quedan campos, así que habrá que añadir una coma.
$consulta=$consulta . ", ";
}else{
//añado un espacio, por si acaso.
$consulta=$consulta . " ";
}
} //fin del for para las tablas.
//Queda añadir la cláusula WHERE y la condición.
$consulta=$consulta . " WHERE " . $condicion;
//echo ("
$sql = mysql_query($consulta);
return $sql;
}
function devuelveRegistros($sql){
//pasada una SQL válida de selección, devolvemos los registros.
return mysql_fetch_array($sql);
}
function cierraConexion($conn){
mysql_close($conn);
}
function conectar(){
//Conecta y devuelve la variable conexión.
$conn = mysql_connect("localhost", tu_usuario, tu_password);
mysql_select_db(tu_db);
return $conn;
}
function escribeSelectSQL($campos,$tablas,$condicion){
$consulta="SELECT ";
//añado tantos campos como me haya enviado.
$limiteCampos=count($campos);
$limiteTablas=count($tablas);
for($contador=1;$contador<=$limiteCampos;$contador+=1){
$consulta=$consulta . $campos[$contador-1];
if ($contador<$limiteCampos){
//todavía quedan campos, así que habrá que añadir una coma.
$consulta=$consulta . ", ";
}else{
//añado un espacio, por si acaso.
$consulta=$consulta . " ";
}
} //fin del for para los campos.
$consulta=$consulta . " FROM ";
for($contador=1;$contador<=$limiteTablas;$contador+=1){
$consulta=$consulta . $tablas[$contador-1];
if ($contador<$limiteTablas){
//todavía quedan campos, así que habrá que añadir una coma.
$consulta=$consulta . ", ";
}else{
//añado un espacio, por si acaso.
$consulta=$consulta . " ";
}
} //fin del for para las tablas.
//Queda añadir la cláusula WHERE y la condición.
$consulta=$consulta . " WHERE " . $condicion;
//echo ("
DEBUG: la consulta formada es $consulta.
");$sql = mysql_query($consulta);
return $sql;
}
function devuelveRegistros($sql){
//pasada una SQL válida de selección, devolvemos los registros.
return mysql_fetch_array($sql);
}
function cierraConexion($conn){
mysql_close($conn);
}
Suscribirse a:
Entradas (Atom)