我一直在尝试将PHP整数数组用于使用该NOT IN子句的MySQL查询,但是尽管没有错误,它似乎总是返回我想要过滤掉的结果.
例:
$IDS = $_SESSION['Posts'];
$Select = 'SELECT *
FROM status
WHERE (W_ID = '.$ID.')
AND (ID NOT IN ("'.implode(',', $IDS).'"))
ORDER BY ID DESC
LIMIT '.$Begin.', '.$Number.'';
$Select = mysql_query($Select) OR DIE(mysql_error());
Run Code Online (Sandbox Code Playgroud)
我很确定这是一个逻辑语法错误.
我测试的是:
我确保$ IDS被视为一个数组.我还测试了是否存在数组中存储的值.我也没有引用整数数组,但是因为没有它们我得到了一个mysql语法错误.
我收到的错误消息:
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在''word','group','selfnote'附近使用正确的语法.)第1行的VALUES('item','a','note to self')'
PHP代码是:
$toq="INSERT INTO articles ('word','group','selfnote')
VALUES ('$ttle','$wrdr','$snote')";
Run Code Online (Sandbox Code Playgroud)
我试图找到solutins,但它们似乎没有像回声那样起作用:
INSERT INTO articles ('word','group','selfnote')
VALUES ('item','a','note to self')
Run Code Online (Sandbox Code Playgroud)
这对我来说很好看.问题是什么?
让我以简单的方式向您展示
SELECT * FROM dictionary WHERE malayalam = '?????'
Run Code Online (Sandbox Code Playgroud)
这个查询在phpmysql上运行正常,同时它在.php页面上查询时没有检测到raw
我正在建立一个英语到马拉雅拉姆语和马拉雅拉姆语到英语词典
该网站是http://www.chatfitness.com/
接收来自mysql的malayalam单词在英文单词的基础上正常工作.
不幸的是,收到英文单词不能正常工作:(
我在这两个函数使用相同的查询是用英文单词搜索的代码
if(isset($_GET['en']))
{
$english = $_GET['en'];
mysql_query ("set character_set_results='utf8'");
$result=mysql_query("SELECT * FROM en_table WHERE word = '$english' LIMIT 1");
$numrows=mysql_num_rows($result);
if($numrows!=0){
$row = mysql_fetch_array($result);
$english_id = $row['en_id'];
//select malayalam id which are matching with english id
$en_query = mysql_query("SELECT * FROM dictionary WHERE english = '$english_id'");
//$en_rows = mysql_fetch_array($en_query);
while($en_rows = mysql_fetch_array($en_query)){
$en_malayalam = $en_rows['malayalam'];
mysql_query ("set character_set_results='utf8'");
$ml_query=mysql_query("SELECT * FROM ml_table WHERE ml_id = …Run Code Online (Sandbox Code Playgroud) 我有一个sqlite数据库.我试图导出该数据库并以SQL格式将其导入phpMyAdmin,但它无法正常工作.有人可以帮帮我吗?
我正在寻找一种方法将我在数据库中的所有文本转换为Camel Case/Proper Case
即从... CAMEL HAS LEGS到Camel Has Legs
我在这里找到了一个答案,要求创建一个函数(下面),然后使用该函数转换文本.
我5.6.32-78.1在共享托管服务器上使用MySQL版本:当我执行以下功能时,我收到错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Run Code Online (Sandbox Code Playgroud)
我该如何纠正这个错误?我是MySQL的新手
CREATE FUNCTION `proper_case`(str varchar(128)) RETURNS varchar(128)
BEGIN
DECLARE n, pos INT DEFAULT 1;
DECLARE sub, proper VARCHAR(128) DEFAULT '';
if length(trim(str)) > 0 then
WHILE pos > 0 DO …Run Code Online (Sandbox Code Playgroud) 我正在导入一个刚刚从开发服务器导出到生产服务器的存储过程,并且在 phymyadmin 中遇到以下错误。
SQL query: Documentation
$$ CREATE DEFINER = `devuser`@`localhost` FUNCTION `get_refundable_amount` (
enrol_id INT
) RETURNS double( 10, 2 ) READS SQL DATA BEGIN DECLARE refundable_amount double( 10, 2 ) DEFAULT 0;
SELECT (
sum( P.amount ) - EI.amount
)
INTO refundable_amount
FROM site_payment_processed AS P
INNER JOIN site_user_enroled AS E ON ( P.enrol_id = E.id
AND P.payment_type = 'Refund' )
INNER JOIN site_user_enroled_invoice AS EI ON EI.enrol_id = E.id
WHERE E.id = enrol_id
GROUP BY E.id;
RETURN …Run Code Online (Sandbox Code Playgroud) INSERT INTO `jos1_content`
(`title`, `introtext`, `fulltext`, `state`, `sectionid`, `catid`, `attribs`)
VALUES
($title, $introtext, $fulltext, 1, 1, $catid, 5)
Run Code Online (Sandbox Code Playgroud)
查询由php脚本组成.变量的推导表明它们不是空的.应phpMyAdmin的请求显示错误:
1064 - 您的SQL语法出错; 检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法
我会很清楚:在 MySQL 中创建视图的解决方案是什么,而没有该死的非法混合排序错误。
我的 SQL 代码是这样的(它有一些葡萄牙语单词),我的数据库默认排序规则是latin1_swedish_ci:
CREATE VIEW v_veiculos AS
SELECT
v.id,
v.marca_id,
v.modelo,
v.placa,
v.cor,
CASE v.combustivel
WHEN 'A' THEN 'Álcool'
WHEN 'O' THEN 'Óleo Diesel'
WHEN 'G' THEN 'Gasolina'
ELSE 'Não Informado'
END AS combustivel,
marcas.marca,
/*I think that the CONCAT and COALESCE below causes this error, when the next line the view works fine*/
CONCAT(marca, ' ', v.modelo, ' - Placa: ', v.placa, ' - Combustível: ', COALESCE(v.combustivel, 'Não informado')) AS info_completa
FROM …Run Code Online (Sandbox Code Playgroud) 这看起来非常简单,但我坚持使用一个简单的插入语句。见下文:
begin work;
CREATE TEMPORARY TABLE IF NOT EXISTS insert_table AS
(
select
r.resource_id
,fr.file_repos_id
,mv.VALUE
from
resources r
join versions v on v.RESOURCE_ID = r.resource_id
join metadata_values mv on mv.resource_id = r.resource_id
join file_repository fr on fr.file_repos_id = v.foreign_id
where
v.version_status = 'C'
and r.RESOURCE_TYPE = 4
and fr.file_title in ('suburbs')
);
insert
into
metadata_values (elem_id,value,resource_type,resource_id,foreign_id,mtvr_id,mett_id)
values
(62,'test',4,insert_table.resource_id,insert_table.file_repos_id,80,4);
rollback work;
Run Code Online (Sandbox Code Playgroud)
在临时表行中fr.file_title in ('suburbs'),实际列表是从其他地方动态拉取的(这是出于演示目的)。我收到以下错误消息:
错误代码:1054。“字段列表”中的未知列“insert_table.resource_id”
现在,我可以在临时表上运行一个选择,它返回正常,只是在更新语句中失败。我正在从 MySQL 工作台运行它。完全不知道这里发生了什么。
我想更改 mysql 配置文件中的某些内容,但在/etc/my.cnf或/usr/local/mysql.
你知道我在哪里可以找到这个文件吗?
请注意,我是通过 .pkg 文件从官方网站安装 mysql 的,而不是 Homebrew。
谢谢。
mysql-error-1064 ×10
mysql ×9
php ×4
sql ×4
phpmyadmin ×3
collation ×1
function ×1
sql-insert ×1
sqlite ×1
syntax ×1
syntax-error ×1
temporary ×1