基本上我一直在摸不着头脑,我仍然无法弄清楚它为什么不插入。
我100%确定数据库已连接,因为它正好提取信息,但是以下代码无法在数据库中插入任何内容。我已经检查了拼写错误,我已经从弃用的PHP代码等进行检查,并使用了mysqli和mysql。
<?php
include_once "settings.php";
if (isset($_POST['sendMessage']) && isset($_POST['messageTo']) && isset($_POST['messageBody'])){
$messageTo = mysql_real_escape_string($_POST['messageTo']);
$messageBody = mysql_real_escape_string($_POST['messageBody']);
$query= "INSERT INTO inbox (`msgTo`, `msgFrom`, `msgBody`)
VALUES('$messageTo', '$username', '$messageBody')";
if(mysql_query($query))
echo "done.";
else
echo "Problem with Query";
}
?>
<form method="POST">
<div class="searchContain">
<input name="textfield" type="text" name="messageTo" class="input search"><br />
<textarea placeholder="Your message..." name="messageBody" class="input sendmsg" ></textarea><br />
<button class="input" name="sendMessage">Send Message</button>
</div>
</form>
的settings.php:
<?php
session_start();
include_once "../more/config/connect.php";
// Settings //
function logincheck(){
if (!isset($_SESSION['username'])){
header("location: ../index.php");
}
}
logincheck();
$username=$_SESSION['username'];
$gatherInfo=mysql_query("SELECT * FROM users WHERE username='$username' LIMIT 1");
$fetch=mysql_fetch_object($gatherInfo);
?>
connect.php:
<?php
// Connect to the server //
date_default_timezone_set('Europe/London');
mysql_connect("localhost", "root", "connected") or die (mysql_error ());
mysql_select_db("ts") or die(mysql_error());
?>
如果有人能帮助我解决这个相当基本的菜鸟错误,我将非常感激!
更新
基本上在更改代码之后。我已经通过MAMP面板并更改了错误,以便显示。它给了我以下错误消息:
在我之前从未遇到过这个错误,有什么想法吗?它似乎从数据库中获取数据就好了,所以我不确定原因。警告:mysql_connect():无法通过socket&#39; /Applications/MAMP/tmp/mysql/mysql.sock'连接到本地MySQL服务器; (2)
答案 0 :(得分:0)
尝试将您的查询更改为
$query= "INSERT INTO `inbox` (`msgTo`, `msgFrom`, `msgBody`)
VALUES('$messageTo', '$username', '$messageBody')";
答案 1 :(得分:0)
您可以尝试以下
if (isset($_POST['sendMessage']) && isset($_POST['messageTo']) && isset$_POST['messageBody'])){
$messageTo = mysql_real_escape_string($_POST['messageTo']);
$messageBody = mysql_real_escape_string($_POST['messageBody']);
$query= "INSERT INTO inbox ('msgTo', 'msgFrom', 'msgBody')
VALUES('$messageTo', '$username', '$messageBody')";
if(mysql_query($query))
echo "done.";
else
echo "Problem with Query";
}
mysql_query
以获得成功回复。mysql_real_escape_string
被调用了2次同样的事情。或者将其分配给变量,但您无需转义值以检入if
条件