Esta función hace una tabla basada en los resultados de una consulta "SELECT", a mi me ha sido muy útil para detectar errores como comillas y esas cosas. Ppone un link hacia Google con el código de error MySQL. Es solo para depuración, cuando todo está ok antes del echo poner \\
Dentro del script..
echo ver_tabla($consulta,$identificador de conexión)
<?PHP
function ver_tabla($con,$pega,$ver=0,$largo=100){
/*
$con= consulta
$pega= identificador que usó, por ejemplo $pega=mysql_connect ("localhost", $user_db,$pass_db);
$ver= mostrar el contenido de la consulta
$largo=carateres en la columna
pa las que sean (menos spam) okhugo2000yahoo.com
*/
$tabla=" <!--Generado con el script ver_tabla.Consulta:\n". $con."\n -->\n ";
if($ver){$tabla.="<pre>".$con."</pre>";}
$res=mysql_query($con,$pega);
if(! ($t_c=@mysql_num_fields($res)) )
{
return 'Error, no retornaron campos de la consulta:
<br><b><pre>' .$con .'</pre><hr>
Error #
<a href="http://www.google.com/search?q='.urlencode('.MySQL error # '.mysql_errno($pega)). '" target="_blank" >'.
mysql_errno($pega)
. '</a> MySQL dice: ' . mysql_error($pega) .' </b>' ;
}
;
$tabla.= mysql_num_rows($res). " registros\n" ;
$tabla.= "<table border=\"1\">\n<tr>";
for($x=0; $x<$t_c; $x++){
$t=mysql_field_name($res, $x);
$tabla.="\t<th title=\" ".$t." \" >".substr($t,0,$largo)."</th>\n";
}
$tabla.="</tr>\n";
while ($fila = mysql_fetch_array($res)){
$tabla.="\t<tr>\n";
for($x=0; $x<$t_c; $x++){
if(!($fila[$x]{0})){$fila[$x]="?";}
$tabla.="\t<td title=\" ".$fila[$x]." \" >"
.substr($fila[$x],0,$largo)
."</td>\n";
}
$tabla.="</tr>\n";
}
$tabla.="</table>";
return $tabla;
}
?>