title: Call to undefined function mysql_query()
body: <p>I wasn't able to find this issue on this site. when I load my page, i get the following error</p>
  <pre><code>Call to undefined function mysql_query() 
  </code></pre>
  <p>So my checked my <code>phpinfo()</code> file and I couldn't find the mysql extensions or any extensions at all.
  So I went into my php ini file and uncommented the extensions</p>
  <pre><code>extension=php_pdo_mssql.dll
  extension=php_pdo_mysql.dll
  </code></pre>
  <p>I restarted my apache server and mysql and yet nothing changed and the extensions are not being recognized. I have mysql server running, i have apache running with php,but I am having a hard time getting extensions to load. so I checked my extension directory (the directory my <code>phpinfo()</code> specified and there is nothing there.) MacPorts installed everything except my extensions. what the heck ?? And is there anything else I am missing.</p>
  <h1>php.ini</h1>
  <pre><code>;;;;;;;;;;;;;;;;;;;;;;
  ; Dynamic Extensions ;
  ;;;;;;;;;;;;;;;;;;;;;;
  
  ; If you wish to have an extension loaded automatically, use the following
  ; syntax:
  ;
  ;   extension=modulename.extension
  ;
  ; For example, on Windows:
  ;
  ;   extension=msql.dll
  ;
  ; ... or under UNIX:
  ;
  ;   extension=msql.so
  ;
  ; ... or with a path:
  ;
  ;   extension=/path/to/extension/msql.so
  ;
  ; If you only provide the name of the extension, PHP will look for it in its
  ; default extension directory.
  ;
  ; Windows Extensions
  ; Note that ODBC support is built in, so no dll is needed for it.
  ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
  ; extension folders as well as the separate PECL DLL download (PHP 5).
  ; Be sure to appropriately set the extension_dir directive.
  ;
  ;extension=php_bz2.dll
  extension=php_curl.dll
  ;extension=php_fileinfo.dll
  ;extension=php_gd2.dll
  ;extension=php_gettext.dll
  ;extension=php_gmp.dll
  ;extension=php_intl.dll
  ;extension=php_imap.dll
  ;extension=php_interbase.dll
  ;extension=php_ldap.dll
  ;extension=php_mbstring.dll
  ;extension=php_exif.dll      ; Must be after mbstring as it depends on it
  extension=php_mysql.dll
  extension=php_mysqli.dll
  ;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
  ;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
  ;extension=php_openssl.dll
  ;extension=php_pdo_firebird.dll
  extension=php_pdo_mssql.dll
  extension=php_pdo_mysql.dll
  extension=php_pdo_oci.dll
  extension=php_pdo_odbc.dll
  ;extension=php_pdo_pgsql.dll
  ;extension=php_pdo_sqlite.dll
  ;extension=php_pgsql.dll
  ;extension=php_pspell.dll
  ;extension=php_shmop.dll
  
  ; The MIBS data available in the PHP distribution must be installed. 
  ; See http://www.php.net/manual/en/snmp.installation.php 
  ;extension=php_snmp.dll
  
  extension=php_soap.dll
  extension=php_sockets.dll
  extension=php_sqlite.dll
  extension=php_sqlite3.dll
  ;extension=php_sybase_ct.dll
  ;extension=php_tidy.dll
  ;extension=php_xmlrpc.dll
  ;extension=php_xsl.dll
  ;extension=php_zip.dll
  
  ;;;;;;;;;;;;;;;;;;;
  ; Module Settings ;
  ;;;;;;;;;;;;;;;;;;;
  
  [Date]
  ; Defines the default timezone used by the date functions
  ; http://php.net/date.timezone
  ;date.timezone =
  
  ; http://php.net/date.default-latitude
  ;date.default_latitude = 31.7667
  
  ; http://php.net/date.default-longitude
  ;date.default_longitude = 35.2333
  
  ; http://php.net/date.sunrise-zenith
  ;date.sunrise_zenith = 90.583333
  
  ; http://php.net/date.sunset-zenith
  ;date.sunset_zenith = 90.583333
  
  [filter]
  ; http://php.net/filter.default
  ;filter.default = unsafe_raw
  
  ; http://php.net/filter.default-flags
  ;filter.default_flags =
  
  [iconv]
  ;iconv.input_encoding = ISO-8859-1
  ;iconv.internal_encoding = ISO-8859-1
  ;iconv.output_encoding = ISO-8859-1
  
  [intl]
  ;intl.default_locale =
  ; This directive allows you to produce PHP errors when some error
  ; happens within intl functions. The value is the level of the error produced.
  ; Default is 0, which does not produce any errors.
  ;intl.error_level = E_WARNING
  
  [sqlite]
  ; http://php.net/sqlite.assoc-case
  ;sqlite.assoc_case = 0
  
  [sqlite3]
  ;sqlite3.extension_dir =
  
  [Pcre]
  ;PCRE library backtracking limit.
  ; http://php.net/pcre.backtrack-limit
  ;pcre.backtrack_limit=100000
  
  ;PCRE library recursion limit.
  ;Please note that if you set this value to a high number you may consume all
  ;the available process stack and eventually crash PHP (due to reaching the
  ;stack size limit imposed by the Operating System).
  ; http://php.net/pcre.recursion-limit
  ;pcre.recursion_limit=100000
  
  [Pdo]
  ; Whether to pool ODBC connections. Can be one of &quot;strict&quot;, &quot;relaxed&quot; or &quot;off&quot;
  ; http://php.net/pdo-odbc.connection-pooling
  ;pdo_odbc.connection_pooling=strict
  
  ;pdo_odbc.db2_instance_name
  
  [Pdo_mysql]
  ; If mysqlnd is used: Number of cache slots for the internal result set cache
  ; http://php.net/pdo_mysql.cache_size
  pdo_mysql.cache_size = 2000
  
  ; Default socket name for local MySQL connects.  If empty, uses the built-in
  ; MySQL defaults.
  ; http://php.net/pdo_mysql.default-socket
  pdo_mysql.default_socket=
  
  [Phar]
  ; http://php.net/phar.readonly
  ;phar.readonly = On
  
  ; http://php.net/phar.require-hash
  ;phar.require_hash = On
  
  ;phar.cache_list =
  
  [Syslog]
  ; Whether or not to define the various syslog variables (e.g. $LOG_PID,
  ; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
  ; runtime, you can define these variables by calling define_syslog_variables().
  ; http://php.net/define-syslog-variables
  define_syslog_variables  = Off
  
  [mail function]
  ; For Win32 only.
  ; http://php.net/smtp
  SMTP = localhost
  ; http://php.net/smtp-port
  smtp_port = 25
  
  ; For Win32 only.
  ; http://php.net/sendmail-from
  ;sendmail_from = me@example.com
  
  ; For Unix only.  You may supply arguments as well (default: &quot;sendmail -t -i&quot;).
  ; http://php.net/sendmail-path
  ;sendmail_path =
  
  ; Force the addition of the specified parameters to be passed as extra parameters
  ; to the sendmail binary. These parameters will always replace the value of
  ; the 5th parameter to mail(), even in safe mode.
  ;mail.force_extra_parameters =
  
  ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
  mail.add_x_header = On
  
  ; The path to a log file that will log all mail() calls. Log entries include
  ; the full path of the script, line number, To address and headers.
  ;mail.log =
  
  [SQL]
  ; http://php.net/sql.safe-mode
  sql.safe_mode = Off
  
  [ODBC]
  ; http://php.net/odbc.default-db
  ;odbc.default_db    =  Not yet implemented
  
  ; http://php.net/odbc.default-user
  ;odbc.default_user  =  Not yet implemented
  
  ; http://php.net/odbc.default-pw
  ;odbc.default_pw    =  Not yet implemented
  
  ; Controls the ODBC cursor model.
  ; Default: SQL_CURSOR_STATIC (default).
  ;odbc.default_cursortype
  
  ; Allow or prevent persistent links.
  ; http://php.net/odbc.allow-persistent
  odbc.allow_persistent = On
  
  ; Check that a connection is still valid before reuse.
  ; http://php.net/odbc.check-persistent
  odbc.check_persistent = On
  
  ; Maximum number of persistent links.  -1 means no limit.
  ; http://php.net/odbc.max-persistent
  odbc.max_persistent = -1
  
  ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
  ; http://php.net/odbc.max-links
  odbc.max_links = -1
  
  ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
  ; passthru.
  ; http://php.net/odbc.defaultlrl
  odbc.defaultlrl = 4096
  
  ; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
  ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
  ; of odbc.defaultlrl and odbc.defaultbinmode
  ; http://php.net/odbc.defaultbinmode
  odbc.defaultbinmode = 1
  
  ;birdstep.max_links = -1
  
  
  
  [MySQL]
  ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
  ; http://php.net/mysql.allow_local_infile
  mysql.allow_local_infile = On
  
  ; Allow or prevent persistent links.
  ; http://php.net/mysql.allow-persistent
  mysql.allow_persistent = On
  
  ; If mysqlnd is used: Number of cache slots for the internal result set cache
  ; http://php.net/mysql.cache_size
  mysql.cache_size = 2000
  
  ; Maximum number of persistent links.  -1 means no limit.
  ; http://php.net/mysql.max-persistent
  mysql.max_persistent = -1
  
  ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
  ; http://php.net/mysql.max-links
  mysql.max_links = -1
  
  ; Default port number for mysql_connect().  If unset, mysql_connect() will use
  ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
  ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
  ; at MYSQL_PORT.
  ; http://php.net/mysql.default-port
  mysql.default_port =
  
  ; Default socket name for local MySQL connects.  If empty, uses the built-in
  ; MySQL defaults.
  ; http://php.net/mysql.default-socket
  mysql.default_socket =
  
  ; Default host for mysql_connect() (doesn't apply in safe mode).
  ; http://php.net/mysql.default-host
  mysql.default_host =
  
  ; Default user for mysql_connect() (doesn't apply in safe mode).
  ; http://php.net/mysql.default-user
  mysql.default_user =
  
  ; Default password for mysql_connect() (doesn't apply in safe mode).
  ; Note that this is generally a *bad* idea to store passwords in this file.
  ; *Any* user with PHP access can run 'echo get_cfg_var(&quot;mysql.default_password&quot;)
  ; and reveal this password!  And of course, any users with read access to this
  ; file will be able to reveal the password as well.
  ; http://php.net/mysql.default-password
  mysql.default_password =
  
  ; Maximum time (in seconds) for connect timeout. -1 means no limit
  ; http://php.net/mysql.connect-timeout
  mysql.connect_timeout = 60
  
  ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
  ; SQL-Errors will be displayed.
  ; http://php.net/mysql.trace-mode
  mysql.trace_mode = Off
  
  [MySQLi]
  
  ; Maximum number of persistent links.  -1 means no limit.
  ; http://php.net/mysqli.max-persistent
  mysqli.max_persistent = -1
  
  ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
  ; http://php.net/mysqli.allow_local_infile
  ;mysqli.allow_local_infile = On
  
  ; Allow or prevent persistent links.
  ; http://php.net/mysqli.allow-persistent
  mysqli.allow_persistent = On
  
  ; Maximum number of links.  -1 means no limit.
  ; http://php.net/mysqli.max-links
  mysqli.max_links = -1
  
  ; If mysqlnd is used: Number of cache slots for the internal result set cache
  ; http://php.net/mysqli.cache_size
  mysqli.cache_size = 2000
  
  ; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
  ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
  ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
  ; at MYSQL_PORT.
  ; http://php.net/mysqli.default-port
  mysqli.default_port = 3306
  
  ; Default socket name for local MySQL connects.  If empty, uses the built-in
  ; MySQL defaults.
  ; http://php.net/mysqli.default-socket
  mysqli.default_socket =
  
  ; Default host for mysql_connect() (doesn't apply in safe mode).
  ; http://php.net/mysqli.default-host
  mysqli.default_host =
  
  ; Default user for mysql_connect() (doesn't apply in safe mode).
  ; http://php.net/mysqli.default-user
  mysqli.default_user =
  
  ; Default password for mysqli_connect() (doesn't apply in safe mode).
  ; Note that this is generally a *bad* idea to store passwords in this file.
  ; *Any* user with PHP access can run 'echo get_cfg_var(&quot;mysqli.default_pw&quot;)
  ; and reveal this password!  And of course, any users with read access to this
  ; file will be able to reveal the password as well.
  ; http://php.net/mysqli.default-pw
  mysqli.default_pw =
  
  ; Allow or prevent reconnect
  mysqli.reconnect = Off
  
  [mysqlnd]
  ; Enable / Disable collection of general statistics by mysqlnd which can be
  ; used to tune and monitor MySQL operations.
  ; http://php.net/mysqlnd.collect_statistics
  mysqlnd.collect_statistics = On
  
  ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
  ; used to tune and monitor MySQL operations.
  ; http://php.net/mysqlnd.collect_memory_statistics
  mysqlnd.collect_memory_statistics = On
  
  ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
  ; http://php.net/mysqlnd.net_cmd_buffer_size
  ;mysqlnd.net_cmd_buffer_size = 2048
  
  ; Size of a pre-allocated buffer used for reading data sent by the server in
  ; bytes.
  ; http://php.net/mysqlnd.net_read_buffer_size
  ;mysqlnd.net_read_buffer_size = 32768
  
  [OCI8]
  
  ; Connection: Enables privileged connections using external
  ; credentials (OCI_SYSOPER, OCI_SYSDBA)
  ; http://php.net/oci8.privileged-connect
  ;oci8.privileged_connect = Off
  
  ; Connection: The maximum number of persistent OCI8 connections per
  ; process. Using -1 means no limit.
  ; http://php.net/oci8.max-persistent
  ;oci8.max_persistent = -1
  
  ; Connection: The maximum number of seconds a process is allowed to
  ; maintain an idle persistent connection. Using -1 means idle
  ; persistent connections will be maintained forever.
  ; http://php.net/oci8.persistent-timeout
  ;oci8.persistent_timeout = -1
  
  ; Connection: The number of seconds that must pass before issuing a
  ; ping during oci_pconnect() to check the connection validity. When
  ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
  ; pings completely.
  ; http://php.net/oci8.ping-interval
  ;oci8.ping_interval = 60
  
  ; Connection: Set this to a user chosen connection class to be used
  ; for all pooled server requests with Oracle 11g Database Resident
  ; Connection Pooling (DRCP).  To use DRCP, this value should be set to
  ; the same string for all web servers running the same application,
  ; the database pool must be configured, and the connection string must
  ; specify to use a pooled server.
  ;oci8.connection_class =
  
  ; High Availability: Using On lets PHP receive Fast Application
  ; Notification (FAN) events generated when a database node fails. The
  ; database must also be configured to post FAN events.
  ;oci8.events = Off
  
  ; Tuning: This option enables statement caching, and specifies how
  ; many statements to cache. Using 0 disables statement caching.
  ; http://php.net/oci8.statement-cache-size
  ;oci8.statement_cache_size = 20
  
  ; Tuning: Enables statement prefetching and sets the default number of
  ; rows that will be fetched automatically after statement execution.
  ; http://php.net/oci8.default-prefetch
  ;oci8.default_prefetch = 100
  
  ; Compatibility. Using On means oci_close() will not close
  ; oci_connect() and oci_new_connect() connections.
  ; http://php.net/oci8.old-oci-close-semantics
  ;oci8.old_oci_close_semantics = Off
  
  [PostgreSQL]
  ; Allow or prevent persistent links.
  ; http://php.net/pgsql.allow-persistent
  pgsql.allow_persistent = On
  
  ; Detect broken persistent links always with pg_pconnect().
  ; Auto reset feature requires a little overheads.
  ; http://php.net/pgsql.auto-reset-persistent
  pgsql.auto_reset_persistent = Off
  
  ; Maximum number of persistent links.  -1 means no limit.
  ; http://php.net/pgsql.max-persistent
  pgsql.max_persistent = -1
  
  ; Maximum number of links (persistent+non persistent).  -1 means no limit.
  ; http://php.net/pgsql.max-links
  pgsql.max_links = -1
  
  ; Ignore PostgreSQL backends Notice message or not.
  ; Notice message logging require a little overheads.
  ; http://php.net/pgsql.ignore-notice
  pgsql.ignore_notice = 0
  
  ; Log PostgreSQL backends Notice message or not.
  ; Unless pgsql.ignore_notice=0, module cannot log notice message.
  ; http://php.net/pgsql.log-notice
  pgsql.log_notice = 0
  
  [Sybase-CT]
  ; Allow or prevent persistent links.
  ; http://php.net/sybct.allow-persistent
  sybct.allow_persistent = On
  
  ; Maximum number of persistent links.  -1 means no limit.
  ; http://php.net/sybct.max-persistent
  sybct.max_persistent = -1
  
  ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
  ; http://php.net/sybct.max-links
  sybct.max_links = -1
  
  ; Minimum server message severity to display.
  ; http://php.net/sybct.min-server-severity
  sybct.min_server_severity = 10
  
  ; Minimum client message severity to display.
  ; http://php.net/sybct.min-client-severity
  sybct.min_client_severity = 10
  
  ; Set per-context timeout
  ; http://php.net/sybct.timeout
  ;sybct.timeout=
  
  ;sybct.packet_size
  
  ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
  ; Default: one minute
  ;sybct.login_timeout=
  
  ; The name of the host you claim to be connecting from, for display by sp_who.
  ; Default: none
  ;sybct.hostname=
  
  ; Allows you to define how often deadlocks are to be retried. -1 means &quot;forever&quot;.
  ; Default: 0
  ;sybct.deadlock_retry_count=
  
  [bcmath]
  ; Number of decimal digits for all bcmath functions.
  ; http://php.net/bcmath.scale
  bcmath.scale = 0
  </code></pre>
  <h1>EDIT</h1>
  <p>I am using a mac and checking my settings above. I do also have the php_mysql.dll files installed as well</p>
  <pre><code>extension=php_mysql.dll
  extension=php_mysqli.dll
  </code></pre>
  <p>This is my <code>phpinfo()</code> page</p>
  <p><img src="https://i.stack.imgur.com/TInZS.png" alt="enter image description here" /></p>
  <p>there is 3 occurrences of the word mysql on my page.</p>
  <h1>edit</h1>
  <p>ok i have a screenshot that shows where the extension dir is but when i go there, I don't see any extensions. could macports installation be corrupted ??</p>
  <p><img src="https://i.stack.imgur.com/QvjUJ.png" alt="enter image description here" /></p>