Benvingudes i benvinguts al portal Linkat

La Linkat és la distribució educativa de GNU/Linux que ha iniciat i ofereix el Departament d'Educació a la comunitat educativa. Es tracta d'un projecte de programari lliure que permet als centres educatius, però també a tota la societat, tenir accés de forma legal, gratuïta i amb suport tècnic professional, a un conjunt molt ampli d'aplicacions: educatives, d'ofimàtica, d'Internet, multimèdia...

Call to undefined function: mysql_connect()  Final

  • Hola
    tinc linkat instal.lat amb apache2, php 4.3.4 funcionant, mysql 4.0.18 i phpmyAdmin 2.5.6.
    Quan intento cridar la funció mysql_connect() hem diu que no està definida.
    Executant phpinfo() veig que "configure command" hi ha el paràmetre:
    --without-mysql
    Es aquest el problema?
    Com puc solucionar-ho?
    M'extranya que funcioni correctament phpmyadmin.

  • Jo diria que no és aquest el problema, el --without-mysql només fa referència a que no s'empraran les llibreries que incorpora el php però hauria de funcionar sense problemes si tens els rpm necessaris instal·lats. Per exemple, el següent funciona correctament, almenys amb la taula de Moodle que he utilitzat de prova.

    Code

    <br />&lt;?php<br />// Conexió, selecció de la base de dades.<br />$link = mysql_connect(&#039;localhost&#039;, &#039;usuari_bbdd&#039;,<br />&#039;password&#039;)<br />&nbsp;  or die(&#039;Error de conexi&amp;oacute; : &#039; . mysql_error());<br />echo &#039;Conexi&amp;oacute; amb exit&#039;;<br />mysql_select_db(&#039;base_de_dades&#039;) or die(&#039;No he pogut seleccionar la<br />BBDD: base_de_dades.&#039;);<br /> <br />// Realitzar una consulta SQL<br />$consulta&nbsp; = &#039;SELECT * FROM taula_base_de_dades&#039;;<br />$resultats = mysql_query($consulta) or die(&#039;La consulta ha fallat: &#039;<br />.<br />mysql_error());<br /> <br />// Taula HTML<br />echo &quot;&lt;table&gt;\n&quot;;<br />while ($linia = mysql_fetch_array($resultats, MYSQL_ASSOC)) {<br />&nbsp;  echo &quot;\t&lt;tr&gt;\n&quot;;<br />&nbsp;  foreach ($linia as $valor_col) {<br />&nbsp; &nbsp; &nbsp;  echo &quot;\t\t&lt;td&gt;$valor_col&lt;/td&gt;\n&quot;;<br />&nbsp;  }<br />&nbsp;  echo &quot;\t&lt;/tr&gt;\n&quot;;<br />}<br />echo &quot;&lt;/table&gt;\n&quot;;<br /> <br />// Alliberar el conjunt dels resultats<br />mysql_free_result($resultats);<br /> <br />// Tancar la connexió<br />mysql_close($link);<br />?&gt;<br />


    Jo diria que et fa falta instal·lar algun rpm com:

    php4-mysql-4.3.4-43.50

    Pots comprovar que està instal·lat amb:

    linux:~ # rpm -ql php4-mysql-4.3.4-43.50
    /usr/lib/php/extensions/mysql.so

    Ja diràs ...
  • Hola

    el tinc instal.lat (php4-mysql-4.3.4-43.50)

    de fet he provat de desinstal.lar-lo i tornar-lo a instal.lar i segueix igual.
  • Hola !!!

    I el paquet mysql-shared-4.0.18-32.4 ?

    Has canviat el password del usuari root al server mysql ... amb mysqladmin ?

    Ja diràs ...
  • comprova també que tinguis el apache2-mod_php4

    salutacions,

  • Hola

    El problema era que no tenia carregada la extensió mysql.so
    Per tant la solució era tan sezilla com editar el fitxer php.ini i  afegir la linea:
    extesion=mysql.so

    Salutacions
    Jaume Balagué
  • 0 usuaris

Aquesta llista mostra els usuaris actius durant els darrers 20 minuts.