查询在PHPMyAdmin中工作,但不在PHP中工作

时间:2015-03-15 10:04:44

标签: php mysql mysqli phpmyadmin

我是PHP的新手,我已经接受了一个在线教程,直到现在我一直工作正常,但现在我的数据库没有返回查询,但是当我去PHPmyadmin那里我可以让查询正常工作。 / p>

以下是代码

    <?php 
ob_start();
//Delete Item question to admin and delete product

include"../storescripts/connect_to_mysql.php";

if (isset($_GET['deleteid'])) {
    echo 'Do you really want to delete the item with ID '.$_GET['deleteid'].'?<a href="inventory_list.php?yesdelete='.$_GET['deleteid'].'">Yes</a>|<a href="inventory_list.php">No</a>';
    exit();
    } 

if(isset($_GET['yesdelete'])){
    // Delete the actual product and delete picture also
    //delete from database
    //$id_to_delete = $_GET['yesdelete'];
    //echo  $id_to_delete;

     $sql =mysqli_query( "DELETE * FROM `products` WHERE `id`=2  LIMIT1 ");

    //mysql_query("DELETE * FROM `products` WHERE `id`='$id_to_delete'LIMIT1") or (mysql_error());

    //mysqli_query("DELETE * FROM products WHERE id=`$id_to_delete`LIMIT1");// or (mysql_error());

    //Unlink file from server
    $pictodelete=("../inventory_images/$id_to_delete");
    //echo $pictodelete;
    if(file_exists($pictodelete)){
        unlink($pictodelete);
        }

        header("location:inventory_list.php");
        exit();

    }   


?>

我真的很感激帮助,我的服务器读取PHP扩展:mysqli。

3 个答案:

答案 0 :(得分:1)

我不知道 connect_to_mysql.php 里面是什么,但最初有 程序连接数据库 我假设您已正确完成,它包含的代码在默认设置下看起来像那样

<?php
$servername = "localhost";
$username = "root";
$password = "";
$databasename="abc";

// Create connection
$conn = mysqli_connect($servername, $username, $password,$databasename);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

我在你的代码中看到的第二件事

$sql =mysqli_query( "DELETE * FROM `products` WHERE `id`=2  LIMIT1 ");

它包含语法错误,应该是

$sql =mysqli_query( $conn,"DELETE FROM `products` WHERE `id`=2  LIMIT 1 ");

答案 1 :(得分:0)

限制之后的空格。

您尚未在mysqli_query()函数中指定连接。

例如:

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Perform queries 
mysqli_query($con,"SELECT * FROM Persons");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) 
VALUES ('Glenn','Quagmire',33)");

mysqli_close($con);
?>

在你的情况下

$sql =mysqli_query( $connectionname,"DELETE * FROM `products` WHERE `id`=2  LIMIT 1 ");

答案 2 :(得分:0)

  

查询时出错:$ sql = mysqli_query(&#34; DELETE * FROM products WHERE id = 2 LIMIT1&#34;);

  • DELETE * FROM产品替换为 DELETE FROM products DELETE从表中删除行。
  • 像mysqli_query这样的过程至少需要两个参数
    1. 从mysqli_connect
    2. 返回的链接标识符
    3. 查询字符串

你还没有指定链接作为第一个参数,你应该使用返回链接到mysqi_query。

$con = mysqli_connect('localhost','root','password','db');
$sql =mysqli_query( $con,"DELETE FROM `products` WHERE `id`=2  LIMIT1 "); 

此链接可帮助您关联mysqli_query