Foros del Web » Programando para Internet » PHP »

Problema con PHP ODBC Campo memo ACCESS

Estas en el tema de Problema con PHP ODBC Campo memo ACCESS en el foro de PHP en Foros del Web. Hola buen dia, mi problema es el siguiente: tengo un sistema que filtra el id de una base de datos echa en access y la ...
  #1 (permalink)  
Antiguo 19/11/2011, 20:02
Avatar de bernaap  
Fecha de Ingreso: agosto-2007
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Problema con PHP ODBC Campo memo ACCESS

Hola buen dia, mi problema es el siguiente:

tengo un sistema que filtra el id de una base de datos echa en access y la filtro con ODBC en PHP. el problema es que muestro los datos en un form en campos de texto hasta ahi bien, pero el problema es que cuando quiero mostrar un campo memo que contiene texto plano me manda el siguiente error:

<br />
<b>Warning</b>: odbc_result() [<a href='function.odbc-result'>function.odbc-result</a>]: SQL error: [Microsoft][Administrador de controladores ODBC] Estado del cursor no válido, SQL state 24000 in SQLGetData in <b>C:\xampp\htdocs\redexe\Prueba2\resultado_pc.php </b> on line <b>149</b><br />

el código PHP que estoy usando en los demás campos donde funciona es:
<? echo odbc_result($result,2); ?>

Ese código lo pongo el valué del campo de texto.

espero encontrar respuesta GRACIAS POR SU AYUDA.
  #2 (permalink)  
Antiguo 20/11/2011, 00:28
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Problema con PHP ODBC Campo memo ACCESS

Hola amigo. Se me hace un poco confuso. Si puedes postear un fragmento mas amplio de tu código se puede analizar mejor. Saludos.
  #3 (permalink)  
Antiguo 20/11/2011, 15:24
Avatar de bernaap  
Fecha de Ingreso: agosto-2007
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problema con PHP ODBC Campo memo ACCESS

Cita:
Iniciado por jorgelpadronb Ver Mensaje
Hola amigo. Se me hace un poco confuso. Si puedes postear un fragmento mas amplio de tu código se puede analizar mejor. Saludos.
Este el código completo que estoy usando en el PHP

Código PHP:
Ver original
  1. <?
  2. $cid=odbc_connect("redexe","","");
  3.  
  4. if (!$cid){
  5.     echo("Ya ocurrido un error tratando de conectarse con el origen de datos.");
  6. }  
  7.  
  8. //$donde = $_POST['donde'];
  9. $buscar = $_POST['buscar'];
  10.  
  11. $validationOK=true;
  12. if (Trim($buscar)=="") $validationOK=false;
  13. //if (Trim($donde)=="") $validationOK=false;
  14. if (!$validationOK)
  15.  {
  16. ?><font color="#ff0000" size="6" align=center face="Verdana, Arial, Helvetica, sans-serif"><?
  17.   print "Revisa los datos ingresados</a><meta http-equiv=\"refresh\" content=\"3;URL=consultas.html\">";
  18.   ?><font color="#0066ff" size="3" face="Verdana, Arial, Helvetica, sans-serif"> <?
  19.   print "<a href='consultas.html'>Realizar Nueva Busqueda</a>";
  20.   exit;
  21. }
  22.  
  23. $sql="Select * From Soporte Where id like '$buscar' order by id";
  24.  
  25. $result=odbc_exec($cid,$sql)or die(("Error en odbc_exec"));
  26.  
  27. print odbc_result_all($result,"border=1");
  28.  
  29.  
  30. ?>
  31.  
  32. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  33. <html xmlns="http://www.w3.org/1999/xhtml">
  34. <head>
  35. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  36. <title>REDexe</title>
  37. <style type="text/css">
  38. .mans {
  39.     text-align: center;
  40.     font-weight: bold;
  41. }
  42. .vinculos {
  43.     font-family: Arial, Helvetica, sans-serif;
  44.     color: #390;
  45.     font-size: 36px;
  46.     font-weight: bold;
  47. }
  48. .campos{
  49.     font-family: "Arial Black", Helvetica, sans-serif;
  50.     color: #039;
  51.     font-size: 13px;
  52.     }
  53. .vinculos td {
  54.     text-align: center;
  55. .vinculos td {
  56.     font-weight: bold;
  57. }
  58. #form1 table tr td {
  59.     font-family: "Arial Black", Gadget, sans-serif;
  60.     font-weight: bold;
  61. }
  62. </style>
  63. <link href="estils.css" rel="stylesheet" type="text/css" />
  64. </head>
  65. <head>
  66. <title>Pagina privada</title>
  67. </head>
  68. <body>
  69.  
  70. <?
  71. include("validate.php");
  72. ?>
  73.  
  74. <table width="100%" border="0">
  75.   <tr>
  76.     <td colspan="3"><img src="franja.png" width="100%" height="150" /></td>
  77.   </tr>
  78.   <tr>
  79.     <td>&nbsp;</td>
  80.     <td>&nbsp;</td>
  81.     <td></td>
  82.   </tr>
  83.   <tr>
  84.     <td>&nbsp;</td>
  85.     <td>&nbsp;</td>
  86.     <td><p>[<a href="logout.php" style="text-decoration: none">Cerrar Sesion</a>]&nbsp;</td>
  87.   </tr>
  88.   <tr>
  89.     <td>&nbsp;</td>
  90.     <td><form id="form1" name="form1" method="post" action="">
  91.       <table width="100%" border="0">
  92.       <tr>
  93.         <td colspan="5" class="vinculos">Datos del Cliente</td>
  94.         </tr>
  95.       <tr>
  96.         <td width="14%">&nbsp;</td>
  97.         <td colspan="2">&nbsp;</td>
  98.         <td width="12%">&nbsp;</td>
  99.         <td width="28%">&nbsp;</td>
  100.       </tr>
  101.       <tr>
  102.         <td>id. Cliente:</td>
  103.         <td colspan="2"><label for="textfield"></label>
  104.           <input name="textfield" type="text" class="campos" id="textfield" value="<? echo odbc_result($result,1); ?>" size="8" maxlength="5" readonly="readonly"/></td>
  105.         <td>Telefono:</td>
  106.         <td><label for="textfield5"></label>
  107.           <input name="textfield5" type="text" class="campos" id="textfield5" value="<? echo odbc_result($result,15); ?>" readonly="readonly"/></td>
  108.       </tr>
  109.       <tr>
  110.         <td>Nombre:</td>
  111.         <td colspan="2"><label for="textfield2"></label>
  112.           <input name="textfield2" type="text" class="campos" id="textfield2" value="<? echo odbc_result($result,13); ?>" size="50" readonly="readonly"/></td>
  113.         <td>Celular:</td>
  114.         <td><label for="textfield6"></label>
  115.           <input name="textfield6" type="text" class="campos" id="textfield6" value="<? echo odbc_result($result,16); ?>" readonly="readonly"/></td>
  116.       </tr>
  117.       <tr>
  118.         <td>Direccion:</td>
  119.         <td colspan="2"><label for="textfield3"></label>
  120.           <input name="textfield3" type="text" class="campos" id="textfield3"value="<? echo odbc_result($result,14); ?>" size="50" readonly="readonly" />          <label for="textarea"></label></td>
  121.         <td>RFC:</td>
  122.         <td><label for="textfield7"></label>
  123.           <input name="textfield7" type="text" class="campos" id="textfield7" value="<? echo odbc_result($result,17); ?>" readonly="readonly" /></td>
  124.       </tr>
  125.       <tr>
  126.         <td>e-Mail:</td>
  127.         <td colspan="2"><label for="textfield4"></label>
  128.           <input name="textfield4" type="text" class="campos" id="textfield4" value="<? echo odbc_result($result,18); ?>" size="30" readonly="readonly"/></td>
  129.         <td>&nbsp;</td>
  130.         <td>&nbsp;</td>
  131.       </tr>
  132.       <tr>
  133.         <td colspan="5">&nbsp;</td>
  134.       </tr>
  135.       <tr>
  136.         <td colspan="5" class="vinculos">Datos del Equipo</td>
  137.       </tr>
  138.       <tr>
  139.         <td colspan="5">&nbsp;</td>
  140.       </tr>
  141.       <tr>
  142.         <td colspan="5" ><table width="100%" border="0">
  143.           <tr>
  144.             <td width="50%">Caracteristicas:</td>
  145.             <td width="50%">Problema:</td>
  146.           </tr>
  147.           <tr>                                                                 
  148.             <td><label for="textarea"></label>
  149.               <textarea name="textarea" cols="45" rows="5" readonly="readonly" id="textarea"><? echo odbc_result($result, 2);?></textarea></td>
  150.  
  151.             <td>&nbsp;</td>
  152.           </tr>
  153.           <tr>
  154.             <td>&nbsp;</td>
  155.             <td>&nbsp;</td>
  156.           </tr>
  157.           <tr>
  158.             <td>Estado del Equipo</td>
  159.             <td>&nbsp;</td>
  160.           </tr>
  161.           <tr>
  162.             <td>&nbsp;</td>
  163.             <td>&nbsp;</td>
  164.           </tr>
  165.         </table></td>
  166.       </tr>
  167.       <tr>
  168.         <td colspan="5">&nbsp;</td>
  169.         </tr>
  170.     </table></form></td>
  171.     <td>&nbsp;</td>
  172.   </tr>
  173.   <tr>
  174.     <td>&nbsp;</td>
  175.     <td>&nbsp;</td>
  176.     <td>&nbsp;</td>
  177.   </tr>
  178.   <tr>
  179.     <td width="14%">&nbsp;</td>
  180.     <td width="72%">&nbsp;</td>
  181.     <td width="14%">&nbsp;</td>
  182.   </tr>
  183.   <tr>
  184.     <td>&nbsp;</td>
  185.     <td>&nbsp;</td>
  186.     <td>&nbsp;</td>
  187.   </tr>
  188.   <tr>
  189.     <td>&nbsp;</td>
  190.     <td>&nbsp;</td>
  191.     <td>&nbsp;</td>
  192.   </tr>
  193.   <tr>
  194.     <td>&nbsp;</td>
  195.     <td>&nbsp;</td>
  196.     <td>&nbsp;</td>
  197.   </tr>
  198. </table>
  199. </body>
  200. </html>
  201.  
  202. <body>
  203. </body>
  204. </html>

todos los campos funcionan bien, el unico que falla es el que es de tipo memo, los demas son de texto normal.

GRACIAS POR TU RESPUESTA
  #4 (permalink)  
Antiguo 20/11/2011, 15:27
Avatar de bernaap  
Fecha de Ingreso: agosto-2007
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problema con PHP ODBC Campo memo ACCESS

El error esta en la linea 150

GRACIAS POR TU RESPUESTA
  #5 (permalink)  
Antiguo 25/11/2011, 16:43
Avatar de bernaap  
Fecha de Ingreso: agosto-2007
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problema con PHP ODBC Campo memo ACCESS

Ya encontré la solución esta en eta pagina: https://bugs.php.net/bug.php?id=349

Esto es solo el código:

Código PHP:
Ver original
  1. <HTML>
  2. <HEAD><TITLE>Demonstration of Weird ODBC Behavior</TITLE></HEAD>
  3. <BODY>
  4. <?
  5.     /* connect to the data source */
  6.     echo "Connecting to database<BR><BR>\n";
  7.     $DatabaseID = odbc_pconnect("mao", "", "");
  8.  
  9.     /* execute query */
  10.     echo "Executing Query<BR><BR>\n";
  11.     $dbResult = odbc_exec($DatabaseID, "SELECT * FROM activitytype");
  12.  
  13.     /* get each row */
  14.     while (odbc_fetch_row($dbResult))
  15.     {
  16.         echo "Fetched a row<BR><BR>\n";
  17.  
  18.         /* put three of the columns into variable */
  19.         echo "Setting Variables<BR><BR>\n";
  20.         $acttype_id = odbc_result($dbResult, "ID");
  21.         $acttype_shortdescription = odbc_result($dbResult, "ShortDescription");
  22.         $acttype_longdescription = odbc_result($dbResult, "LongDescription");
  23.  
  24.         /* print out the variables */
  25.         echo "Printing data<BR><BR>\n";
  26.         echo $acttype_id . " " . $acttype_shortdescription . "<BR>\n";
  27.         echo $acttype_longdescription . "<BR><BR>\n";
  28.     }
  29.  
  30.     /* free the memory */
  31.     echo "Freeing result<BR><BR>\n";
  32.     odbc_free_result($dbResult);
  33.  
  34. ?>

Gracias por sus respuestas

Etiquetas: access, memo, odbc, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.