with insertar example create php mysql database

insertar - php mysql example



Advertencia: mysql_connect():[2002] No existe tal archivo o directorio(intentando conectarse mediante unix:///tmp/mysql.sock) en (16)

Acabo de tener este problema, pero solo aparecía al cargar ciertas páginas (otras páginas funcionaron bien). Resultó que estaba haciendo llamadas a MySQL después de cerrar la conexión con mysql_close() . Entonces, como dijo @brucenan: asegúrese de que MySQL se esté ejecutando cuando lo llame .

Estoy tratando de conectarme a mi base de datos MySQL con el terminal en mi Apple (con PHP).

Ayer funcionó bien, y ahora de repente me aparece el error en el título.

El script funciona cuando uso mi navegador para ejecutarlo (tengo instalado XAMPP), pero el Terminal se niega a conectarse a la base de datos.

Aquí está el archivo que incluyo para conectar (la secuencia de comandos funciona cuando no lo incluyo, pero luego no se conecta a la base de datos):

<?php mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("FNB1C_data") or die(mysql_error()); ?>

Eso debería funcionar, ya que funciona con mi navegador.

El comando que uso en la Terminal es php scriptname.php .



Cuando instala php53-mysql usando el puerto, devuelve el siguiente mensaje, que es la solución a este problema:

To use mysqlnd with a local MySQL server, edit /opt/local/etc/php53/php.ini and set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to the path to your MySQL server''s socket file. For mysql5, use /opt/local/var/run/mysql5/mysqld.sock For mysql51, use /opt/local/var/run/mysql51/mysqld.sock For mysql55, use /opt/local/var/run/mysql55/mysqld.sock For mariadb, use /opt/local/var/run/mariadb/mysqld.sock For percona, use /opt/local/var/run/percona/mysqld.sock


Cuando te enfrentas al siguiente problema:

Error de lanzamiento de PHP "Advertencia: mysql_connect () http: //function.mysql-connect : 2002 No existe tal archivo o directorio (tratando de conectarse a través de unix: ///tmp/mysql.sock)"

Establezca el valor "mysql.default_socket" en su /etc/php.ini en

"mysql.default_socket = /var/mysql/mysql.sock".

Luego reinicie el servicio web en el administrador del servidor


El socket MySQL se encuentra, en general, en /tmp/mysql.sock o /var/mysql/mysql.sock , pero probablemente PHP se ve en el lugar equivocado.

  1. Comprueba dónde está tu zócalo con:

    sudo /usr/libexec/locate.updatedb

  2. Cuando el updatedb se termina:

    locate mysql.sock

  3. A continuación, busque su php.ini:

    php -i | grep php.ini

    Esto producirá algo como:

    Configuration File (php.ini) Path => /opt/local/etc/php54 Loaded Configuration File => /opt/local/etc/php54/php.ini

  4. Edita tu php.ini

    sudo vim /opt/local/etc/php54/php.ini

  5. Cambia las líneas:

    pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket=/tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock

    donde /tmp/mysql.sock es la ruta a su socket.

  6. Guarda tus modificaciones y sal de ESC + SHIFT: x

  7. Reiniciar apache

    sudo apachectl stop sudo apachectl start


Estaba teniendo el mismo problema y así es como lo arreglé:

Tuve esto y no funcionó:

$con = mysql_connect(''localhost'', ''root'', ''1234'');

Hice esto y funcionó:

$con = mysql_connect('':/Applications/MAMP/tmp/mysql/mysql.sock'', ''root'', ''1234'');

En lugar de usar el servidor mysql, me conecté directamente a Unix Socket. Trabajó para mi.


Estoy en XAMPP en Mac OS X, y la solución de Brian Lowe anterior funcionó con una ligera modificación .

El archivo mysql.sock está realmente en la carpeta "/ Applications / xampp / xamppfiles / var / mysql /". Así que tuve que vincularlo tanto en / tmp como / var / mysql. No he comprobado cuál es utilizado por la línea de comandos de PHP, pero esto solucionó el problema, así que estoy feliz :-)

sudo su ln -s /Applications/xampp/xamppfiles/var/mysql/mysql.sock /tmp/mysql.sock mkdir /var/mysql ln -s /Applications/xampp/xamppfiles/var/mysql/mysql.sock /var/mysql/mysql.sock


La razón es que php no puede encontrar la ruta correcta de mysql.sock .

Por favor, asegúrese de que su mysql se está ejecutando primero.

Luego, confirme qué ruta se encuentra en mysql.sock , por ejemplo /tmp/mysql.sock

a continuación, agregue esta cadena de ruta de acceso a php.ini:

  • mysql.default_socket = /tmp/mysql.sock
  • mysqli.default_socket = /tmp/mysql.sock
  • pdo_mysql.default_socket = /tmp/mysql.sock

Finalmente, reinicie Apache.


Mac OS X EL Capitan + MAMP Pro Haz esto

cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

Entonces haz esto

cd /tmp sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

Espero que esto te ahorre tiempo.


Otra solución es arreglar la ubicación del socket en el archivo de configuración php.ini de esta manera:

pdo_mysql.default_socket=/tmp/mysql.sock

Por supuesto, el enlace simbólico también funciona, por lo que es una cuestión de preferencia cuál cambiar.


Por alguna razón mysql en OS X obtiene un poco mal la ubicación del archivo de socket requerido, pero afortunadamente la solución es tan simple como configurar un enlace simbólico.

Puede tener un socket (que aparece como un archivo de longitud cero) como /tmp/mysql.sock o /var/mysql/mysql.sock , pero una o más aplicaciones lo están buscando en la otra ubicación. Descúbrelo con este comando:

ls -l /tmp/mysql.sock /var/mysql/mysql.sock

En lugar de mover el socket, edite los archivos de configuración y recuerde que debe mantener los archivos editados localmente y alejados de los servidores donde las rutas son correctas, simplemente cree un enlace simbólico para que su Mac encuentre el socket requerido, incluso cuando está buscando en el lugar equivocado !

Si tiene /tmp/mysql.sock pero no /var/mysql/mysql.sock entonces ...

cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock

Si tiene /var/mysql/mysql.sock pero no /tmp/mysql.sock entonces ...

cd /tmp ln -s /var/mysql/mysql.sock mysql.sock

Necesitará permisos para crear el directorio y el enlace, por lo que solo debe prefijar los comandos de arriba con sudo si es necesario.


Puede hacerlo simplemente aliasando el php de MAMP en el terminal de Apple:

alias phpmamp=''/Applications/MAMP/bin/php/php7.0.0/bin/php''

Ejemplo: > phpmamp - v

Ahora puedes ejecutar algo como: > phpmamp scriptname.php

Nota: Esto se aplicará solo para la sesión de terminal actual.


También tuve este error, pero solo pude solucionarlo a través de la sugerencia here .

Para resumir, utilice:

127.0.0.1

En lugar de:

localhost

La razón es que "localhost" es un nombre especial para el controlador MySQL que hace que use el socket UNIX para conectarse a MySQL en lugar del socket TCP.


Tengo los mismos errores. Mysql se estaba ejecutando como una aplicación independiente antes de iniciar phpMyAdmin.

Acabo de detener mysql. Luego sudo / Applications / XAMPP / xamppfiles / xampp stop sudo / Applications / XAMPP / xamppfiles / xampp start

Funcionó bien


Ya que puede usar MAMP, cambie su puerto al predeterminado 3306 o use 127.0.0.1 en la base de datos.php

$db[''default''] = array( ''dsn'' => '''', ''hostname'' => ''localhost'',// leave it for port 3306 ''username'' => ''yourUserhere'', ''password'' => ''yourPassword'', ''database'' => ''yourDatabase'', ''dbdriver'' => ''mysqli'', ''dbprefix'' => '''', ''pconnect'' => FALSE, ''db_debug'' => (ENVIRONMENT !== ''production''), ''cache_on'' => FALSE, ''cachedir'' => '''', ''char_set'' => ''utf8'', ''dbcollat'' => ''utf8_general_ci'', ''swap_pre'' => '''', ''encrypt'' => FALSE, ''compress'' => FALSE, ''stricton'' => FALSE, ''failover'' => array(), ''save_queries'' => TRUE );

O con la configuración por defecto:

$db[''default''] = array( ''dsn'' => '''', ''hostname'' => ''127.0.0.1:8889'',// leave it for port 8889 ''username'' => ''yourUserhere'', ''password'' => ''yourPassword'', ''database'' => ''yourDatabase'', ''dbdriver'' => ''mysqli'', ''dbprefix'' => '''', ''pconnect'' => FALSE, ''db_debug'' => (ENVIRONMENT !== ''production''), ''cache_on'' => FALSE, ''cachedir'' => '''', ''char_set'' => ''utf8'', ''dbcollat'' => ''utf8_general_ci'', ''swap_pre'' => '''', ''encrypt'' => FALSE, ''compress'' => FALSE, ''stricton'' => FALSE, ''failover'' => array(), ''save_queries'' => TRUE );


Yo estaba teniendo el mismo problema

[PDOException] SQLSTATE [HY000] [2002] No existe tal archivo o directorio

[ErrorException] Advertencia: PDO :: __ construct (): [2002] No existe tal archivo o directorio (tratando de conectarse a través de unix: ///var/mysql/mysql.sock) en ... htdocs / Symfony / vendor / doctrine-dbal / lib / Doctrine / DBAL / Driver / PDOConnection.php

Entonces, la solución es hacer un enlace simbólico al archivo sock para resolver el problema. Haga lo siguiente para resolverlo:

$ sudo mkdir / private / var / mysql /

$ sudo ln -s /Aplicaciones/MAMP/tmp/mysql/mysql.sock /private/var/mysql/mysql.sock

fuente: http://www.reecefowell.com/2012/07/21/symfony2-cli-does-not-connect-to-mysql-while-browser-works-fine/