php从数据库中收集数据
正在尝试从我的sql数据库加载包含数据的HTML表单。我使用ZamppHpmyadminphp从数据库中收集数据,php,mysql,Php,Mysql,正在尝试从我的sql数据库加载包含数据的HTML表单。我使用ZamppHpmyadmin <?php $user = 'root'; $password = ''; $database="client"; mysql_connect(localhost,client); @mysql_select_db($client) or die( "Unable to select database"); echo $query = "SELECT * $title,$service_numb
<?php
$user = 'root';
$password = '';
$database="client";
mysql_connect(localhost,client);
@mysql_select_db($client) or die( "Unable to select database");
echo $query = "SELECT * $title,$service_number,$firstName,$LastName,$dob,$address,$postcode,$tel_number,$mob_number,$email,$partner_id ";
$result = mysql_query($query);
mysql_close();
?>
我怎么了
mysql\uu
函数已被弃用。使用PDO
或mysqli
@
抑制错误;使用错误处理程序(即mysql\u error)<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* free result set */
mysqli_free_result($result);
}
/* close connection */
mysqli_close($link);
?>
您的查询结构不好。您需要指定从中选择记录的表名。例如,您应该执行以下操作:
SELECT * FROM `tblname`
这将为表中的每条记录选择所有字段。您可以通过包含特定字段(不带*
通配符)来指定特定字段,如下所示:
SELECT `title`, `service_number` FROM `tblname`
但是应该提醒您,mysql.*
函数集现在已经被弃用,您应该使用或
您还应该确保转义正在传递的变量。您的代码对当前形式的SQL注入非常开放。您的查询完全错误。正确的
选择查询如下:
SELECT fields FROM table;
SELECT * FROM table;
您在查询($title,$service\u number…
)中使用的是PHP变量,而在提供的代码中,这些变量并不存在。您需要修复您的查询
注意:它是字段
或*
,而不是两者。另外,不要使用MySQL,它从PHP5.5开始就被弃用了。使用MySQLi_*或PDO这应该会让你走起来
<?php
$dsn = 'mysql:host=localhost;dbname=client';
$username = 'root';
$password = '';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
$dbh = new PDO($dsn, $username, $password, $options);
$sql = $dbh->prepare("SELECT title,service_number,FirstName,LastName,dob,address,postcode,tel_number,mob_number,email,partner_id FROM client_table");
$sql->execute();
$results = $sql->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $r){
var_dump($r);
}
。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。请查看SQL select语句是如何编写的,与您编写的语句完全不同:您没有指定表名;您正在指定“所有列”(*),然后给出一长串未定义的变量。。。。即使是一些基本的阅读也会告诉你这是错误的。首先,最好使用PDO或mysqli,其次,你在该查询中尝试了什么oDo不抑制带有@
符号的错误!不要使用mysql\u
函数,但已经详细指出了这一点。做一个像样的PHP/SQL教程,因为您的查询永远不会以这种方式工作。另外,string
需要用引号封装。当你在做这件事的时候,阅读一下SQL注入。我相信你也没有做任何反对的事情。顺便说一句,我认为这是我在这里看到的最糟糕的SQL查询。为什么人们在这里发帖之前至少不学习一些基本的东西?如果你从一个网站上拿了这个,它就是复制的内容。请引用取自php.net pdo docs的source.dsn:手动键入的其他行回答要获取的名称字段解析错误:语法错误,意外“;”在C:\xampp\htdocs\show.php中联机111@pitbull10不知道你的意思。