php的mysqlmysqliPDO(一)mysql,mysqlipdo_PHP教程
php的mysql\mysqli\PDO(一)mysql,mysqlipdo
原文链接:http://www.orlion.ga/1140/
工作中数据库的操作都被封装好了,这些怎么用的都快忘了干脆写篇博客重新复习下,以后要是再忘记了可以看这篇文章。
PHP 5.5.0 起已废弃
1、mysql_connect()
resource mysql_connect([ string $server [, string $username [, string $password [, bool$new_link [, int $client_flags ]]]]] )
$server:服务器地址可以包括端口号,如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。 在 SQL 安全模式 时,参数被忽略,总是使用 'localhost:3306'。
$username:用户名。默认值由 mysql.default_user 定义。 在 SQL 安全模式 时,参数被忽略,总是使用服务器进程所有者的用户名。
$password:密码。默认值由mysql.default_password定义。在 SQL 安全模式 时,参数被忽略,总是使用空密码。
$new_link:如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数new_link
改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。
$client_flags:使用以下常量:
常量 | 说明 |
---|---|
MYSQL_CLIENT_COMPRESS |
使用压缩的通讯协议 |
MYSQL_CLIENT_IGNORE_SPACE |
允许在函数名后留空格位 |
MYSQL_CLIENT_INTERACTIVE |
允许设置断开连接之前所空闲等候的 interactive_timeout 时间(代替 wait_timeout)。 |
MYSQL_CLIENT_SSL |
使用 SSL 加密。本标志仅在 MySQL 客户端库版本为 4.x 或更高版本时可用。在 PHP 4 和 Windows 版的 PHP 5 安装包中绑定的都是 3.23.x。
|
2、mysql_close()
bool mysql_close ([ resource $link_identifier = NULL ] )
mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier
,则关闭上一个打开的连接.通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。PHP 4 Zend 引擎引进了引用计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。因此,很少需要手工释放内存。
3、mysql_select_db()
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
如果没有指定$link_identifier则使用上一个打开的数据库连接,如果没有打开的连接则将无参数调用mysql_connet()取得一个连接并使用。如果没有连接则E_WARNING错误
4、mysql_query()
resource mysql_query ( string $query [, resource $link_identifier = NULL ] )
$query查询字符串不应该以分号结束
$link_identifier如果不指定处理方式与mysql_select_db()相同。
返回值:
mysql_query() 仅对 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他语句 语句返回一个 resource,如果查询出现错误则返回 FALSE
。对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE
,出错时返回 FALSE
。返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行,或者调用mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE
。
对于包含二进制数据的查询,你必须使用mysql_real_query()而不是mysql_query(),因为二进制代码数据可能包含“\0”字符,而且,mysql_real_query()比mysql_query()更快,因为它不会在查询字符串上调用strlen()。如果查询成功,函数返回零。如果发生一个错误,函数返回非零
5、mysql_affected_rows()
int mysql_affected_rows ([ resource $link_identifier = NULL ] )
取得最近一次与 link_identifier
关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
6、mysql_fetch_array()
array mysql_fetch_array ( resource $result [, int $ result_type ] )
将结果以数组方式返回,一次只返回一行,然后指向下一行(用while循环取出)如果没有更多结果返回false。如果结果中有两个或两个以上的列有相同的字段名,最后一列将优先。如果sql中指定了别名则使用别名。PHP手册中指出mysql_fetch_array并不明显比mysql_fetch_row慢。
$result_type:可选:MYSQL_ASSOC(关联数组),MYSQL_NUM(枚举数组) 和 MYSQL_BOTH,默认值MYSQL_BOTH。
// MYSQL_NUM $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf ("ID: %s Name: %s", $row[0], $row[1]); } // MYSQL_ASSOC $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf ("ID: %s Name: %s", $row["id"], $row["name"]); } // MYSQL_BOTH $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID: %s Name: %s", $row[0], $row["name"]); }
7、其他函数:
string mysql_error ([ resource $link_identifier ] )
如果没有指定数据库连接则使用上一个连接,只返回最近一次mysql函数的错误文本。
bool mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] )
设置字符集,数据库连接的选择与mysql_select_db()一样。
string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )
转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集(这是与mysql_escape_string()的不同)

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Lors de l'écriture d'applications Web à l'aide de PHP, une base de données MySQL est souvent utilisée pour stocker les données. PHP fournit un moyen d'interagir avec la base de données MySQL appelé MySQLi. Cependant, parfois lors de l'utilisation de MySQLi, vous rencontrerez un message d'erreur, comme indiqué ci-dessous : PHPFatalerror:Calltoundefinedfunctionmysqli_connect() Ce message d'erreur signifie que PHP ne peut pas trouver mon

PDOPDO est une couche d'abstraction d'accès aux bases de données orientée objet qui fournit une interface unifiée pour PHP, vous permettant d'utiliser le même code pour interagir avec différentes bases de données (telles que Mysql, postgresql, oracle). PDO masque la complexité des connexions à la base de données sous-jacente et simplifie les opérations de la base de données. Avantages et inconvénients Avantages : Interface unifiée, prend en charge plusieurs bases de données, simplifie les opérations de base de données, réduit les difficultés de développement, fournit des instructions préparées, améliore la sécurité, prend en charge le traitement des transactions. Inconvénients : les performances peuvent être légèrement inférieures à celles des extensions natives, reposent sur des bibliothèques externes, peuvent augmenter la surcharge. le code de démonstration utilise PDO Connectez-vous à la base de données MySQL : $db=newPDO("mysql:host=localhost;dbnam

Solution à PHP incapable de se connecter à mysqli : 1. Ouvrez le fichier "php.ini" ; 2. Recherchez "mysqli.reconnect" ; 3. Remplacez "mysqli.reconnect = OFF" par "mysqli.reconnect = on".

Si vous rencontrez le message d'erreur suivant lorsque vous utilisez PHP pour vous connecter à une base de données MySQL : PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused, vous pouvez essayer de résoudre ce problème en suivant les étapes ci-dessous. Pour confirmer si le service MySQL fonctionne normalement, vous devez d'abord vérifier si le service MySQL fonctionne normalement. Si le service ne fonctionne pas ou ne démarre pas, cela peut provoquer une erreur de refus de connexion. peux-tu

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Le fichier en cours d'exécution de mysql est mysqld ; mysqld est un fichier exécutable, qui représente le programme serveur Mysql. L'exécution de ce fichier peut démarrer directement un processus serveur ; et mysqld_safe est un script de démarrage, qui appellera indirectement mysqld et démarrera également un processus de surveillance. .

Lorsque vous utilisez l'extension mysqli pour vous connecter et exploiter une base de données MySQL, vous rencontrez parfois l'erreur PHPFatalerror:Calltoundefinedmethodmysqli::prepare(). Cette erreur est généralement causée par les raisons suivantes : PHP n'a pas une prise en charge suffisante pour l'extension mysqli ; l'extension mysqli n'est pas chargée ou configurée correctement ; il y a des erreurs de syntaxe dans le code PHP ; le serveur MySQL n'est pas correctement configuré ou en cours d'exécution ;

Lors du développement de sites Web utilisant PHP, les opérations de base de données sont très courantes. MySQLi est une extension couramment utilisée en PHP pour faire fonctionner les bases de données MySQL. Elle fournit une interface orientée objet relativement complète, une interface procédurale et prend en charge les opérations des instructions préparées. Mais parfois, lorsque nous utilisons les instructions préparées par mysqli, nous rencontrons une telle erreur : PHPFatalerror:Calltoundefinedfunctionmysqli_stmt_bin
