繁体   English   中英

更新并插入mysqli表

[英]update and insert mysqli table

我正在尝试检查leaguename名称是否已经存在,然后检查其是否高于现有分数。 如果较高,则替换quizscore否则将leaguenamequizscore插入到表ague_quiz中。

代码似乎将值插入到我的表中,但是如果名称等于上一个并且分数更高,它似乎没有更新吗?

我收到此错误:

警告: mysqli_num_rows()期望参数1为mysqli_result ,字符串在

我的代码:

<?php

$name = (string)$_POST['name'];
$score = (string) $_POST['score'];

$link = mysqli_connect("mysql12.gigahost.dk","username","password","dirts_mysql");

$query = "SELECT leaguename, quizscore FROM league_quiz WHERE  leaguename = '$name' AND quizscore < '$score'";

if(mysqli_num_rows($query)) {
    mysqli_query($link,"UPDATE league_quiz SET quizscore = '$score'");
} else {
    mysqli_query($link,"INSERT INTO league_quiz (leaguename, quizscore) VALUES ('$name', '$score')") or die(mysqli_error($link));
}

?>

在这两个之间:

$query = "SELECT leaguename, quizscore FROM league_quiz WHERE  leaguename = '$name' AND      quizscore < '$score'";

if(mysqli_num_rows($query)) {

您是否尝试编写此代码?

$result = mysqli_query($query);

然后在查询结果上使用mysqli_num_rows?

mysqli_num_rows需要查询的结果,而不是查询本身的字符串。 首先,您必须执行查询:

$result = mysqli_query($link,$query);

然后你可以计算行数

$numRows = mysqli_num_rows($result);

尝试以下操作:

$result = mysqli_query($query);
if (mysqli_num_rows($result)) {
...

暂无
暂无

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

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