-5

尝试使用我的 sql 数据库中的数据加载 HTML 表单。我使用 Zampp phpmyadmin

<?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();
?>

我有什么问题?

4

4 回答 4

3
  1. mysql_功能已弃用。使用PDOmysqli_
  2. 不要使用@;来抑制错误。使用错误处理程序(即。mysql_error
  3. 您没有从任何表格或任何列中进行选择
  4. 执行查询后不获取结果集
  5. 在没有绑定参数的情况下将变量传递给查询会使您对 SQL 注入持开放态度

样品使用mysqli_

<?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);
?>

请参阅文档

于 2013-03-11T14:32:14.183 回答
1

您的查询结构不正确。您需要指定应从中选择记录的表名。例如,您应该执行以下操作:

SELECT * FROM `tblname`

这将为表中的每条记录选择所有字段。您可以通过包含它们(不带通配符)来指定特定字段,*如下所示:

SELECT `title`, `service_number` FROM `tblname`

尽管现在不推荐使用这组函数,但应该告知您mysql_*,您应该使用PDOMySQLi

您还应该确保对您传入的变量进行转义。您的代码对当前形式的 SQL 注入是开放的。

于 2013-03-11T14:32:16.017 回答
0

你的查询全错了。正确的SELECT查询是这样的:

SELECT fields FROM table;
SELECT * FROM table;

您在查询 ( $title,$service_number...) 中使用 PHP 变量,在提供的代码中,该变量不存在。您需要修复您的查询。

注意:它是fieldsOR *,而不是两者。另外,不要使用 MySQL_*,它在 PHP 5.5 中已被弃用。使用 MySQLi_* 或 PDO

于 2013-03-11T14:34:25.157 回答
0

这应该让你去

<?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,te‌l_number,mob_number,email,partner_id FROM client_table");
$sql->execute();
$results = $sql->fetchAll(PDO::FETCH_ASSOC);

foreach($results as $r){
var_dump($r);
} 
于 2013-03-11T14:36:51.547 回答