我正在使用以下语句,但不确定如何$variables正确地获取语句内部:
mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
VALUES ('$user_email', '$user_refer', '$user_share', '$_SERVER['REMOTE_ADDR']')");
Run Code Online (Sandbox Code Playgroud) 我正在尝试向phpmyadmin中的表添加值,我收到错误:'字段列表'中的未知列'...'.
这是我的代码:
<?php
//preparing the patch to copy the uploaded file
$target_path = "images/";
//adding the name of the file, finishing the path
$target_path = $target_path . basename( $_FILES['image']['name']);
//moving the file to the folder
if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['image']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
//getting input from the form
$name = $_POST['game'];
$description = $_POST['beschrijving'];
//preparing the query to insert the values …Run Code Online (Sandbox Code Playgroud) 我的问题是关于为什么一段代码工作而另外两段没有,以及我如何获得无效的代码.
有效的代码:
mysql_select_db("webuser1", $con);
mysql_query("INSERT INTO users (column 1, column2) VALUES ('value1', 'value2')");
mysql_close($con);
Run Code Online (Sandbox Code Playgroud)
代码no1没有($ var1包含'value1'等):
mysql_select_db("webuser1", $con);
mysql_query("INSERT INTO users (column 1, column2) VALUES ($var1, $var2)");
mysql_close($con);
Run Code Online (Sandbox Code Playgroud)
并且代码no2不起作用($ _POST ['value1']包含'value1'等):
mysql_select_db("webuser1", $con);
mysql_query("INSERT INTO users (column 1, column2) VALUES ($_POST['value1'], $_POST['value2'])");
mysql_close($con);
Run Code Online (Sandbox Code Playgroud)
我不应该能够在mysql中插入$ var或$ _POST吗?我希望你没有发现这个Q傻,但我一直在寻找解决方案,但我还没有理解它们.谢谢
这是我的代码:
<?php
$con = mysql_connect("localhost","solidarity","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$sql="INSERT INTO show_reviews (username, date, content, show) VALUES (".addslashes($_POST[username]).",".addslashes($_POST[date]).",".addslashes($_POST[content]).",".addslashes($_POST[show]).")";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
Run Code Online (Sandbox Code Playgroud)
所以我使用了fsprint,现在我刚刚使用了w3schools代码,这是我输出的两段代码:
错误:SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行使用"show"(Solidarity,17:02 - Wed,2012年8月1日,Testing,kr1971)附近使用正确的语法
我对评论系统使用了非常相似的语法,没有这个问题.如果它也有帮助,我已经尝试了本地的SQL服务器和遥控器,仍然没有运气.
请帮我 :(.
这个SQL代码有什么问题吗?我从教程中得到它,但它返回以下错误消息
数据库查询失败:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"LIMIT 1"附近使用正确的语法
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id=" . $subject_id ." ";
$query .= "LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
// if no rows are returned, fetch array will return false
if ($subject = mysql_fetch_array($result_set)){
return $subject;
} else {
return NULL;
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚读了关于SQL注入的内容,并在我正在阅读的博客上发现了这个函数我想知道它是否对SQL注入是安全的..如果我传递remove_mq($_POST)给它,我可以$_POST["var"]在查询中使用没有问题吗?
function remove_mq($array){
foreach($array as $key => $value){
if(is_array($value)){
$array[$key] = remove_mq($value);
}
else{
$array[$key] = addslashes($value);
}
}
return $array;
}
Run Code Online (Sandbox Code Playgroud) 我有这个作为我的PHP代码:
$username=($_POST['username']);
$password=($_POST['password']);
$query="SELECT * from 'User' WHERE 'Username'='$username'";
mysql_query($query);
if($rows==0)
{
echo"<p> No rows found</p>";
}
else
{
while($row=mysql_fetch_array($query))
{
echo"rows found";
}
}
mysql_close($conn);
Run Code Online (Sandbox Code Playgroud)
我的表单代码如下:
<form name="login" action="mydamhlogin.php" method="POST">
<p>Username:<input type="text" name="username"></p>
<p>Password<input type="password" name="password"></p>
<p><input type="submit" value="Login"></p>
</form>
Run Code Online (Sandbox Code Playgroud)
我的数据库列名为Username,我正在尝试选择与从表单中获取的$ username匹配的行,但它始终不返回任何行,但这些行肯定在数据库中.
$NOW = new DateTime();
$date = $NOW->format('Y-m-d'); // return 2018-05-17
Run Code Online (Sandbox Code Playgroud)
我想将数据库中的日期更新为现在的日期.
查询:
$sql = "UPDATE table SET date = $date WHERE id = $id";
Run Code Online (Sandbox Code Playgroud)
但它像这样更新时间=> 0000-00-00
这个专栏的类型是 DATE
为什么?我做错了什么?
我收到错误你的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行使用"密钥LIKE%dogs%ORDER BY rating DESC"附近使用正确的语法
$query = mysql_query("SELECT * FROM listings WHERE keys LIKE %$q% ORDER BY rating DESC") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
我搜索了"狗",取代了"q"搜索变量.添加ORDER BY评级DESC时出现此语法错误.我有相同的代码行,减去过去的代码,它工作正常.我尝试在'listing''key'和'rating'周围添加单引号,但它仍然无法正常工作.
我确信这是一个简单的解决方案,我只是缺少.
谢谢
撇号(')如何与WHEREMySQL中的子句一起使用?
我已经习惯mysql_real_escape_string了清理输入.
这是mySQL查询和数据库的截图
SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'
Run Code Online (Sandbox Code Playgroud)

执行此查询会生成以下错误:

知道为什么吗?