简体   繁体   English

如何将数组中的数据直接保存到数据库中? 与 php

[英]How to save the data in the array directly to the database? with php

For example:例如:

array('u_ad'=>'example name','u_mail'=>'example@mail.com','u_sifre'=>'exapmlepass')

Required query:必填查询:

$sql = "INSERT INTO uyeler 
          (u_ad,u_mail,u_sifre) 
        VALUES 
          ('example name','example@mail.com','examplepass')";

How I do that?我该怎么做?

$sql = "INSERT INTO uyeler (". implode(",", array_keys($array)) .") VALUES ('". implode("','", $array) ."')";

Quick/dirty/unsafe:快速/肮脏/不安全:

$sql = "INSERT INTO uyeler (u_ad,u_mail,u_sifre) VALUES ('" . $theArray['u_ad'] . "','" . $theArray['u_mail'] . "','" . $theArray['u_sifre'] . "')";

Better:更好的:

$ad = mysql_real_escape_string($theArray['u_ad']);
$mail = mysql_real_escape_string($theArray['u_mail']);
$sifre = mysql_real_escape_string($theArray['u_sifre']);

$sql = "INSERT INTO uyeler (u_ad,u_mail,u_sifre) VALUES ('" . $ad . "','" . $mail . "','" . $sifre . "')";

Don't mess around with escaping!不要乱跑! You should be using prepared statements where possible, and using PDO is a good way to do it.您应该尽可能使用准备好的语句,并且使用PDO是一个很好的方法。

See:看:

Why you Should be using PHP's PDO for Database Access 为什么你应该使用 PHP 的 PDO 进行数据库访问
ext/mysqli: Part I - Overview and Prepared Statements ext/mysqli:第一部分 - 概述和准备好的语句

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM