php - 更新和插入 mysqli 表

标签 php mysql mysqli

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

代码似乎在我的表中插入了值,但如果名称与之前的名称相同且分数更高,它似乎不会更新?

我收到这个错误:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given in

我的代码:

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

?>

最佳答案

mysqli_num_rows 期望查询的结果而不是查询本身的字符串。 首先你必须执行你的查询:

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

然后你可以数一数行数

$numRows = mysqli_num_rows($result);

关于php - 更新和插入 mysqli 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20806116/

相关文章:

php - 关于mysql_real_escape_string的问题

php - 将字符串插入到另一个字符串中

MySQL 和 Matlab - 替换整列数据

javascript - 使用 Jquery 倒计时器过早触发 Mysql 更新

MySQL在重复键上插入行更新多列

php mysqli 循环太多结果

php - 如何使用连接表中的选定项目?

php - Joomla、Falang集成组件... fatal error : Call to a member function getTable() on null

php - 使用 PHP 将一个表中的信息保存到另一个表中

php - 您可以从 mysqli 对象获取连接数据吗?