Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL将HTML表中的行插入db表_Php_Html_Mysql_Html Table_Insert - Fatal编程技术网

Php MySQL将HTML表中的行插入db表

Php MySQL将HTML表中的行插入db表,php,html,mysql,html-table,insert,Php,Html,Mysql,Html Table,Insert,我使用for循环从MySQL表select查询的内容构建HTML表。我在每一行的末尾都有一个链接,可以将该行复制到另一个表中 我不确定如何从MySQL insert查询的表行中获取数据-我已经标记了我正在努力解决的地方XXX <?php mysql_select_db("cardatabase"); $link = mysql_connect("localhost", "root", "password"); $query = "SELECT * from cars"; $result

我使用
for
循环从MySQL表select查询的内容构建HTML表。我在每一行的末尾都有一个链接,可以将该行复制到另一个表中

我不确定如何从MySQL insert查询的表行中获取数据-我已经标记了我正在努力解决的地方
XXX

<?php

mysql_select_db("cardatabase");

$link = mysql_connect("localhost", "root", "password");
$query = "SELECT * from cars";
$result = mysql_query($query);

if($_GET['rent']) {
    $rent = "INSERT INTO rentedcars VALUES('XXX','XXX','XXX','XXX','XXX','XXX','XXX','XXX','XXX','XXX')";
    mysql_query($rent);
    echo "<meta http-equiv='refresh' content='0;url=rent.php'/>";
}

echo "<table>";
echo "<tr><td>ID</td><td>Make</td><td>Model</td><td>Fuel Type</td><td>Transmission</td><td>Engine Size</td><td>Doors</td><td>Amount</td><td>Available</td><td>Date Added</td><td>Remove</td></tr>";

for ($i = 0; $i < mysql_num_rows($result); $i++) {
    $row = mysql_fetch_object($result);
    echo "<tr>
        <td>$row->ID</td>
        <td>$row->CARMAKE</td>
        <td>$row->CARMODEL</td>
        <td>$row->FUELTYPE</td>
        <td>$row->TRANSMISSION</td>
        <td>$row->ENGINESIZE</td>
        <td>$row->DOORS</td>
        <td>$row->AMOUNT</td>
        <td>$row->AVAILABLE</td>
        <td>$row->DATEADDED</td>
        <td><a href='?rent=$row->ID'>Rent</a></td>
        </tr>";
}
echo "</table>";

我会这样做:

<?php
$link = mysql_connect ("localhost", "root", "password");
mysql_select_db ("cardatabase");
$query = "SELECT * from cars";
$result = mysql_query ($query);
这里你需要确认是否没有车

$rent = "INSERT INTO rentedcars VALUES('$car->ID','$car->CARMAKE','$car->CARMODEL','$car->FUELTYPE','$car->TRANSMISSION','$car->ENGINESIZE','$car->DOORS','$car->AMOUNT','$car->AVAILABLE','$car->DATEADDED')";
mysql_query($rent);
echo "<meta http-equiv='refresh' content='0;url=rent.php'/>";
}
$rent=“插入rentedcars值(“$car->ID”、“$car->CARMAKE”、“$car->CARMODEL”、“$car->FUELTYPE”、“$car->TRANSMISSION”、“$car->ENGINESIZE”、“$car->DOORS”、“$car->AMOUNT”、“$car->AVAILABLE”、“$car->DATEADDED””;
mysql_查询($rent);
回声“;
}
把它改成while,就像@Vinoth Babu说的:

while   ($row = mysql_fetch_object ($result)) 
{        
$row = mysql_fetch_object ($result);
echo "<tr>
<td>$row->ID</td>
<td>$row->CARMAKE</td>
<td>$row->CARMODEL</td>
<td>$row->FUELTYPE</td>
<td>$row->TRANSMISSION</td>
<td>$row->ENGINESIZE</td>
<td>$row->DOORS</td>
<td>$row->AMOUNT</td>
<td>$row->AVAILABLE</td>
<td>$row->DATEADDED</td>
<td><a href='?rent=$row->ID'>Rent</a></td>
</tr>";
}
print "</table>";
?>
while($row=mysql\u fetch\u object($result))
{        
$row=mysql\u fetch\u对象($result);
回声“
$row->ID
$row->CARMAKE
$row->CARMODEL
$row->FUELTYPE
$row->传输
$row->ENGINESIZE
$row->DOORS
$row->金额
$row->可用
$row->DATEADDED
";
}
打印“”;
?>

我建议您切换到MySQL PDO,它更安全,您将获得更好、更安全的代码。

我会这样做:

<?php
$link = mysql_connect ("localhost", "root", "password");
mysql_select_db ("cardatabase");
$query = "SELECT * from cars";
$result = mysql_query ($query);
这里你需要确认是否没有车

$rent = "INSERT INTO rentedcars VALUES('$car->ID','$car->CARMAKE','$car->CARMODEL','$car->FUELTYPE','$car->TRANSMISSION','$car->ENGINESIZE','$car->DOORS','$car->AMOUNT','$car->AVAILABLE','$car->DATEADDED')";
mysql_query($rent);
echo "<meta http-equiv='refresh' content='0;url=rent.php'/>";
}
$rent=“插入rentedcars值(“$car->ID”、“$car->CARMAKE”、“$car->CARMODEL”、“$car->FUELTYPE”、“$car->TRANSMISSION”、“$car->ENGINESIZE”、“$car->DOORS”、“$car->AMOUNT”、“$car->AVAILABLE”、“$car->DATEADDED””;
mysql_查询($rent);
回声“;
}
把它改成while,就像@Vinoth Babu说的:

while   ($row = mysql_fetch_object ($result)) 
{        
$row = mysql_fetch_object ($result);
echo "<tr>
<td>$row->ID</td>
<td>$row->CARMAKE</td>
<td>$row->CARMODEL</td>
<td>$row->FUELTYPE</td>
<td>$row->TRANSMISSION</td>
<td>$row->ENGINESIZE</td>
<td>$row->DOORS</td>
<td>$row->AMOUNT</td>
<td>$row->AVAILABLE</td>
<td>$row->DATEADDED</td>
<td><a href='?rent=$row->ID'>Rent</a></td>
</tr>";
}
print "</table>";
?>
while($row=mysql\u fetch\u object($result))
{        
$row=mysql\u fetch\u对象($result);
回声“
$row->ID
$row->CARMAKE
$row->CARMODEL
$row->FUELTYPE
$row->传输
$row->ENGINESIZE
$row->DOORS
$row->金额
$row->可用
$row->DATEADDED
";
}
打印“”;
?>

我建议您切换到MySQL PDO,这样更安全,您将获得更好、更安全的代码。

您的insert查询中缺少列名

 $rent = "INSERT INTO rentedcars (id ,carmake, carmodel,fueltype,transmission, enginesize,doors,amount ,available, dateadded) 
           VALUES('xxx','xxx','".$carmodel."','XXX','XXX','XXX','XXX','XXX','XXX','XXX')"; 

                                   ^^^^^-------------i showed u exempel under
这些XXX是您从输入值中获得的值

  <input  name= "car_model" id= "car_model" value="mercedes" > 

然后在sql中使用此值
$carmodel
,插入查询中缺少列名

 $rent = "INSERT INTO rentedcars (id ,carmake, carmodel,fueltype,transmission, enginesize,doors,amount ,available, dateadded) 
           VALUES('xxx','xxx','".$carmodel."','XXX','XXX','XXX','XXX','XXX','XXX','XXX')"; 

                                   ^^^^^-------------i showed u exempel under
这些XXX是您从输入值中获得的值

  <input  name= "car_model" id= "car_model" value="mercedes" > 

然后在sql中使用这个值
$carmodel
mysql.*如果从PHP5.5.0开始就不推荐使用,您应该使用类似PDO的东西

try {
    $DBH = new PDO('mysql:dbname=cardatabase;host=localhost', 'root', 'password');
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$STH = $DBH->query("SELECT * FROM cars")->execute();

while ($row = $STH->fetch(PDO::FETCH_OBJ)) {
      echo "<tr>
<td>$row->ID</td>
<td>$row->CARMAKE</td>
<td>$row->CARMODEL</td>
<td>$row->FUELTYPE</td>
<td>$row->TRANSMISSION</td>
<td>$row->ENGINESIZE</td>
<td>$row->DOORS</td>
<td>$row->AMOUNT</td>
<td>$row->AVAILABLE</td>
<td>$row->DATEADDED</td>
<td><a href='?rent=".$row->ID."'>Rent</a></td>
</tr>";
    }
试试看{
$DBH=newpdo('mysql:dbname=cardatabase;host=localhost','root','password');
}捕获(PDO$e){
回显“连接失败:”。$e->getMessage();
}
$STH=$DBH->query(“从汽车中选择*)->execute();
while($row=$STH->fetch(PDO::fetch_OBJ)){
回声“
$row->ID
$row->CARMAKE
$row->CARMODEL
$row->FUELTYPE
$row->传输
$row->ENGINESIZE
$row->DOORS
$row->金额
$row->可用
$row->DATEADDED
";
}

编辑:就像@Skatox说的

从PHP5.5.0开始,mysql就不推荐使用,您应该使用类似PDO的东西

try {
    $DBH = new PDO('mysql:dbname=cardatabase;host=localhost', 'root', 'password');
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$STH = $DBH->query("SELECT * FROM cars")->execute();

while ($row = $STH->fetch(PDO::FETCH_OBJ)) {
      echo "<tr>
<td>$row->ID</td>
<td>$row->CARMAKE</td>
<td>$row->CARMODEL</td>
<td>$row->FUELTYPE</td>
<td>$row->TRANSMISSION</td>
<td>$row->ENGINESIZE</td>
<td>$row->DOORS</td>
<td>$row->AMOUNT</td>
<td>$row->AVAILABLE</td>
<td>$row->DATEADDED</td>
<td><a href='?rent=".$row->ID."'>Rent</a></td>
</tr>";
    }
试试看{
$DBH=newpdo('mysql:dbname=cardatabase;host=localhost','root','password');
}捕获(PDO$e){
回显“连接失败:”。$e->getMessage();
}
$STH=$DBH->query(“从汽车中选择*)->execute();
while($row=$STH->fetch(PDO::fetch_OBJ)){
回声“
$row->ID
$row->CARMAKE
$row->CARMODEL
$row->FUELTYPE
$row->传输
$row->ENGINESIZE
$row->DOORS
$row->金额
$row->可用
$row->DATEADDED
";
}


编辑:就像@Skatox说的

您想知道如何从用户单击的表的行中访问值吗?@user1161318是的,我尝试将“$row->ID”放在我用XXX标记代码的位置,但似乎无法使其工作。如果要这样做,您需要将该部分代码放在设置$row的循环中。@user1161318好的,我该怎么做呢?你能举个小例子吗,因为我是phpI的新手,但可能有人在这方面打败了我。如果答案不能满足您的需要,请告诉我,我会再看一遍。您想知道如何从用户单击的表的行中访问值吗?@user1161318是的,我尝试过将“$row->ID”放在我用XXX标记代码的位置,但似乎无法实现。如果您要这样做,您需要将这段代码放入设置了$row的循环中。@user1161318好的,我该怎么做?你能举个小例子吗,因为我是phpI的新手,但可能有人在这方面打败了我。如果答案不能满足您的需要,请告诉我,我会再看一遍。我实现了您的新代码,但它似乎仍然没有插入数据,请参见编辑的问题中的新代码。您需要在值部分之前添加列名,仅当数据顺序与表定义相同时,此操作才有效。列名在值之前?另外,我刚刚进行了元刷新以查找一条错误消息,该消息本来会出现,但由于正在刷新警告而消失:mysql_fetch_object():在第43行的/Users/jstraw/Sites/rent.php中提供的参数不是有效的mysql结果资源。该错误是因为由于SQL问题没有返回汽车。是的,您需要在值之前命名列,检查@goodmood comment以了解更多详细信息。我实现了您的新代码,但它似乎仍然没有插入数据,请参见编辑问题中的新代码。您需要在值部分之前添加列名,仅当数据顺序与表定义相同时,此操作才有效。列名在值之前?另外,我刚刚进行了元刷新以查找一条错误消息,该消息本来会出现,但由于正在刷新警告而消失:mysql_fetch_object():在第43行的/Users/jstraw/Sites/rent.php中提供的参数不是有效的mysql结果资源。该错误是因为由于SQL问题没有返回汽车。是的,您需要在